我不确定每种硬件类型(显示屏幕、USB、打印机等)是否必须遵循统一的标准才能与CPU通信。例如,在显示屏幕接口和CPU之间来回传输的位被CPU解释为特定的命令,即使使用另一个显示屏幕(来自另一个制造商),这种解释也是正确的(对于相同的位)。
如果不是这样的话,BIOS应该如何与数百个不同的硬件设备进行通信,并使用不同的方法来解释从设备接口到CPU的不同位呢?
我发现标准化的概念更实用。
发布于 2014-04-08 17:11:00
BIOS本身实际上只需要理解引导CPU所需的一组有限的硬件。它不需要理解“数百”的设备。例如,BIOS不知道USB打印机是什么。
通常,BIOS只理解以下设备:
任何其他设备都会被BIOS忽略,除非供应商在主板上包含一个选项ROM。(您通常在SAS/SCSI控制器或以太网卡上看到这种情况。)
注意,上面列出的大多数设备都符合标准规范,因此不管是谁制造的,它们都是软件兼容的。例如,USB2.0控制器应该符合EHCI规范,它可以兼容所有的BIOSes。萨塔控制器应该跟随AHCI规范。
一旦操作系统加载,它就从BIOS接管,并加载自己的驱动程序与硬件接口。
发布于 2014-04-08 08:52:58
每个硬件都有与CPU通信的特定方式(即协议)。也许我们可以把它看作是“设备规范”。为了与数百个不同的硬件设备通信,BIOS应该在其中实现相应的协议。因此,我们可以说BIOS实际上是规范的“集合”。
每当宣布新的规范时,都应该修改BIOS以支持它,或者BIOS不识别相应的设备,更不用说配置它了!
https://stackoverflow.com/questions/22891251
复制相似问题