>I/Oは何故取り戻さないといけないのですか。

CPUには、MEM/IOなぞというコントロールピンがあって、H/L制御でデバイスを選び、
MEMとIOが同じアドレス(アドレスバス上の信号)であっても、別のデバイスを選択する、
すなはち、MEM空間とIO空間が別にある。
IO空間へのアクセスをアセンブラのIO制御命令で行う場合は除くとして、IOよりCPUへのアクセスは外部割込みとなる。
一つの外部割込みが延々と続く場合、他の優先順位が大きい多重割り込みが発生した場合、どんどんスタックに値が溜まってゆく、すなはちスタックオーバーフローの可能性が出てくる。
メモリのオーバフローの場合、x86系では、例外エラーのブルーバック画面に移行する。

尚、モトローラ・IBM68系ではメモリ空間内にIO空間がある。
すなはち、アドレスで、メモリとIOが連続している、すなはち、アドレスバスが太い、すなはちRISCの特徴。
この場合でも、IOからCPUへのアクセスは割り込みだ。