【问题标题】:Hardware Devices and Standardization硬件设备和标准化
【发布时间】:2014-05-18 10:43:08
【问题描述】:

我不确定每种硬件类型(显示屏、USB、打印机等)是否必须遵循统一标准才能与 CPU 通信。例如,显示屏接口和 CPU 之间来回传输的位被 CPU 解释为特定命令,即使使用另一个显示屏(来自其他制造商),这种解释也是正确的(对于相同的位) )。

如果这不是真的,那么 BIOS 应该如何与数百个不同的硬件设备进行通信,这些设备具有不同的解释从设备接口到 CPU 来回的位的方法?

我发现标准化概念更实用。

【问题讨论】:

    标签: standards hardware bios


    【解决方案1】:

    BIOS 本身实际上只需要了解启动 CPU 所需的有限硬件集。它不需要了解“数百”个设备。例如,BIOS 不知道 USB 打印机是什么。

    一般来说,BIOS 只识别以下设备:

    • CPU/芯片组“核心”硬件 - 例如DDR3 内存控制器
    • 基本 PCI/PCI Express 初始化 - 与设备无关
    • 视频控制器 - 基本初始化所需的代码,通常由 Option ROM 提供
    • SATA 控制器 - 只要它与 IDE/ACHI 兼容。
    • USB 控制器 - 可能只是 USB 2.0
    • 标准 USB 存储设备
    • 标准 USB 键盘/鼠标设备
    • 以太网控制器 - 通常由 Option ROM 提供

    任何其他设备都会被 BIOS 忽略,除非供应商在板上包含 Option ROM。 (您通常会在 SAS/SCSI 控制器或以太网卡上看到这一点。)

    请注意,上面列出的大多数设备都符合标准规范,因此无论是谁制造的,它们都是软件兼容的。例如,USB 2.0 控制器应符合EHCI spec,它将兼容所有 BIOS。 SATA 控制器应遵循AHCI spec

    操作系统加载后,它会从 BIOS 接管并加载自己的驱动程序以与硬件接口。

    【讨论】:

    • 解释清楚!谢谢。
    【解决方案2】:

    每个硬件与 CPU 通信都有特定的方式(即协议)。也许我们可以将其视为“设备规范”。为了与数百个不同的硬件设备进行通信,BIOS 应该在其中实现相应的协议。因此我们可以说 BIOS 实际上是规范的“集合”。

    每当发布新的规范时,都要修改BIOS来支持它,否则BIOS无法识别相应的设备,更不用说配置了!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-13
      • 1970-01-01
      • 2012-08-09
      相关资源
      最近更新 更多