当我们将一块硬件插入计算机系统时会发生什么?

时间:2010-12-26 07:54:49

标签: windows linux operating-system x86 hardware

当我们将一块硬件插入计算机系统,比如一个NIC(网络接口卡)或声卡时,会发生什么事情才能让我们使用那块硬件?

我可以想到以下两种情况,如果我错了,请纠正我。

  • 如果硬件有自己的内存芯片, 某人 会安排一系列地址空间映射到这些内存芯片。

    < / LI>
  • 如果硬件没有自己的内存芯片, 某人 会在计算机系统的主内存中分配一系列地址以容纳硬件

我不确定前面提到的 某人 是操作系统还是CPU。

另一个问题:硬件是否总是需要一些 内存 才能运行?

我是对的吗?

非常感谢。

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

答案取决于硬件的接口 - 通过USB或PCI-Express? (也可能有其他连接方法 - USB和PCI-Express是最常见的)

  • 使用USB
    主机通过读取描述符并加载适当的设备驱动程序来了解新到达的设备。该设备将显示其用于即插即用的ID。主机还为设备分配了一个地址。一旦设备驱动程序启动,它就会配置设备并为数据传输做好准备。数据传输使用IRP完成,传输技术以及IRP的加载方式取决于传输是等时数据还是批量或其他模式。

所以回答你的第二个问题 - 是的,硬件需要一些内存才能工作。驱动程序和USB主机控制器驱动程序一起在主机上为USB设备设置内存 - 然后USB设备驱动程序相应地通信/驱动设备。

  • 使用PCI-Express

它很相似 - 抱歉,我没有掌握PCI-Express的经验。