メモリマップドIOとIOマップドIOの違いとは?分かりやすく解説!

この記事には、アフィリエイト広告を利用しています。

スポンサーリンク


メモリマップドIOとIOマップドIOの主な違いは、メモリマップドIOがメモリとIOデバイスの両方に同じアドレス空間を使用するのに対し、IOマップドIOはメモリとIOデバイスに別々の2つのアドレス空間を使用する点です。

CPUは、CPUとコンピュータ内の周辺機器との間で入出力操作を行うために、2つの方式を使用します。

この2つの方式は、メモリマップドIOとIOマップドIOと呼ばれています。

メモリマップドIOは、メモリデバイスとIOデバイスの両方のアドレスに同じアドレス空間を使用します。

一方、IOマップドIOは、メモリデバイスとIOデバイスのアドレスに別々のアドレス空間を使用する。

スポンサーリンク

メモリマップドIOとは

メモリマップド IO は、メモリと入出力デバイスのために 1 つのアドレス空間を使用します。

つまり、あるアドレスはメモリに割り当てられ、他のアドレスはIOデバイスのアドレスを格納するために割り当てられています。

読み出しと書き込みの命令線は1セットです。

メモリ操作とIO操作の両方で同じ命令セットが機能する。

したがって、メモリ操作に使う命令をIOデバイスにも使うことができる。

  そのため、メモリの一部をIOで占有することになり、メモリのアドレッシング能力が低下する可能性がある

IOマップ付きIOとは

IO マップド IO は、メモリ位置と IO デバイスのために、2 つの別々のアドレス空間を使用します。

メモリ転送とIO転送の両方に、2つの独立した制御線があります。

言い換えれば、IOとメモリの両方に異なる読み取りと書き込みの命令があります。

IOリードとIOライトはIO転送用であり、メモリリードとメモリライトはメモリ転送用です。

IOマップドIOは、ポートマップドIOやアイソテッドIOとも呼ばれます。

メモリマップドIOとIOマップドIOの違い

定義

メモリマップドIOとは、メモリとIOデバイスに1つのアドレス空間を使用するコン ピュータにおいて、中央演算処理装置(CPU)と周辺デバイスの間で入出力(I/O)操作を 行う方法です。

IOマップドIOは、メモリとIOデバイスに別々の2つのアドレス空間を使用するコンピュータにおいて、中央処理装置(CPU)と周辺デバイスの間で入出力(I/O)操作を行う方法です。

このように、この定義では、メモリマップドIOとIOマップドIOの違いの根拠を説明しています。

アドレス空間

メモリマップドIOとIOマップドIOの主な違いは、メモリマップドIOはメモリとIOデバイスの両方に同じアドレス空間を使用することです。

IO マップド IO は、メモリと IO デバイスに別々の 2 つのアドレス空間を使用します。

メモリ用アドレス

上記から分岐して、メモリマップドIOとIOマップドIOには、もう一つ違いがあります。

メモリマップドIOでは、IOとメモリの両方に1つのアドレス空間を使用するため、IO用のアドレスが追加され、メモリに使用できるアドレスは最小になります。

  IOマップドIOでは、すべてのアドレスがメモリによって使用されることができます。

説明書

メモリマップドIOがIOとメモリの両方の操作に同じ命令を使うのに対し、IOマップドIOはIOとメモリの読み込みと書き込みの操作に別々の命令を使っています。

これもメモリマップドIOとIOマップドIOの違いの1つと言えます。

効率性

さらに、メモリマップドIOは効率が悪く、IOマップドIOは効率が良い。

結論

メモリマップドIOとIOマップドIOは、コンピュータ内のCPUと周辺デバイスの間で入出力操作を行うための2つの方法です。

メモリマップドIOとIOマップドIOの基本的な違いは、メモリマップドIOがメモリとIOデバイスの両方に同じアドレス空間を使うのに対し、IOマップドIOはメモリとIOデバイスに別々の2つのアドレス空間を使うことである

タイトルとURLをコピーしました