は、どのようにそれは知っているんそのすべての間のアドレス:RAM /グラフィックカード/モニターの/ etc ...マザーボード上CPUは周辺デバイスの物理アドレス範囲をどのように知っていますか?例えば
へ
0xXXXXXXと0xYYYYYY
マップ?
は、どのようにそれは知っているんそのすべての間のアドレス:RAM /グラフィックカード/モニターの/ etc ...マザーボード上CPUは周辺デバイスの物理アドレス範囲をどのように知っていますか?例えば
へ
0xXXXXXXと0xYYYYYY
マップ?
正確にはあなたがリストしたものすべてを知りません。
このすべての鍵は、CPUがシリコンチップ内で一人で行かないということです。確かに、すべてのプロセッサを構成するペリフェラルと呼ばれる特殊なハードウェア回路が数多くあります。
それが知っていることは、チップ/ SoC内部のすべてのペリフェラルのメモリスペース上の場所です。明らかに、チップ・デザイナー(Intel、Freescale、AMDなど)によって配線されているように、
拡張によって、内蔵周辺装置(DRAMコントローラ)によって制御される外部RAMは、外部DRAMのアドレスを知っている。 PCIeバス上の外部周辺機器は、PCIeコントローラによって駆動されるため、同じです。等々。
しかし、プロセッサ自体はPCIeバス上にあるものを知りません。これはドライバとオペレーティングシステムがすべてのことを意識していることです。私たちのコンピュータの多くは、ある時点でPCIeバスに接続されています。コンパニオンチップを介して、または直接...このバスに存在するものと、これらのペリフェラルごとにロードするドライバを正確に識別するために、OSと周辺機器の間で交換される識別子のハンドシェイクがあります。 OSがどのアドレスにGPU、USBバス、SATAバスなどが存在するかを知ることができます。
これは、デバイスドライバが必要な理由です。 – rghome