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

当我们将一块硬件插入计算机系统,比如一个NIC(网络接口卡)或声卡时,会发生什么事情才能让我们使用那块硬件? 我可以想到以下两种情况,如果我错了,请纠正我。 如果硬件有自己的内存芯片,有人会安排一系列地址空间映射到那些内存芯片。 如果硬件没有自己的存储芯片,则有人会在计算机系统的主存储器中分配一系列地址以容纳该硬件。 我不确定前面提到的某人是操作系统还是CPU。 另一个问题:硬件总是需要一些内存才能工作吗? 我对吗? 非常感谢。     
已邀请:
答案取决于硬件的接口 - 通过USB或PCI-Express? (也可能有其他连接方法 - USB和PCI-Express是最常见的) 用USB 主机通过读取描述符并加载适当的设备驱动程序来了解新到达的设备。该设备将显示其用于即插即用的ID。主机还为设备分配了一个地址。一旦设备驱动程序启动,它就会配置设备并为数据传输做好准备。使用IRP完成数据传输,传输技术以及如何加载IRP取决于传输是等时数据还是批量或其他模式。 所以回答你的第二个问题 - 是的,硬件需要一些内存才能工作。驱动程序和USB主机控制器驱动程序一起在主机上为USB设备设置内存 - 然后USB设备驱动程序相应地通信/驱动设备。 使用PCI-Express 它很相似 - 抱歉,我没有掌握PCI-Express的经验。     

要回复问题请先登录注册