拡張メモリとは

1981 年にリリースされた IBM PC は、コンピューターのゲームチェンジャーでした。それは市場を席巻し、完全に支配的になりました。多くの成功とそのハードウェアのオープン スタンダードにより、すぐにクローンが登場しました。多くのソフトウェア プログラムも PC 用に設計されました。これらはその制限を考慮に入れる必要があり、場合によってはそれらに依存する必要がありました。この特定の機能への依存とその市場優位性は、ホーム コンピュータ市場に消えない痕跡を残しました。

PC の主な問題は、1 MiB のメモリしかアドレス指定できないことでした。これは、RAM、BIOS、オペレーティング システム、およびビデオ アダプタなどの拡張ハードウェアに使用する必要がありました。メモリの価格が非常に高かったため、これはリリース時にはあまり問題ではなく、ソフトウェア ベンダーはソフトウェアの互換性を確保するために事実上失敗しました。メモリの価格が下がり、メモリを大量に消費するプログラムがリリースされると、これが問題になりました。

IBM PC の後継には、より多くの RAM に対応できる新しい CPU が含まれていました。しかし、多くのプログラムはソフトウェアを PC の RAM レイアウトに合わせて正確に調整していたため、余分なメモリ スペースを活用できませんでした。逆に、多くの人々はまだ RAM が限られている PC を持っていましたが、より多くの RAM を必要とするソフトウェアをロードする機能を望んでいました。解決策は拡張メモリでした。

拡張メモリ

拡張メモリとは、同じスペースでより多くのメモリを提供するために、上部領域でバンクを切り替えることを指します。PC は 1MiB のメモリを、RAM として使用される従来のメモリ領域と、BIOS ROM および拡張カード用に使用される上部メモリ領域の 2 つの領域に分割しました。グラフィック用に割り当てられた 2 つのセクションの 1 つなど、上位メモリ領域の一部を RAM として使用することはすでに可能でした。ただし、この手法では、さらに数 KiB のメモリへのアクセスしか提供されませんでした。容量を増やすには拡張メモリが必要でした。

拡張メモリは、グラフィックス デバイスに割り当てられた未使用のメモリ領域を使用します。次に、バンクのシステムを使用して、追加のメモリ セクションをその 1 つのウィンドウにページインおよびページアウトしました。これには、カスタム ドライバーを使用する必要がありました。また、少なくとも最初は、より多くの物理メモリを備えた拡張カードが必要でした。後の世代では、CPU サポートにより、ソフトウェアを使用して拡張メモリを拡張メモリにマップできました。ただし、これには、CPU のサポートと、マップ先の追加メモリの存在が必要でした。また、ソフトウェアを使用できるように構成する必要がありました。

それはどのように機能しましたか?

拡張メモリは、メモリのウィンドウ セクションを利用して動作しました。これは、より大きなメモリ プールに 1 対 1 でマップされました。ただし、1 対 1 のマッピングでは、それ以上メモリを使用できません。代わりに、必要に応じて、ドライバーは拡張メモリの別の部分またはバンクにマッピングをスワップします。これは、デスクトップの背景を変更するようなものです。あなたはまだ同じモニターを持っていますが、新しい写真です。ソフトウェアは、拡張メモリのどのバンクにどのデータが含まれているかを追跡する必要がありました。これは、そのデータをリコールする場合の重要なタスクです。

バンクをスワップしなければならないということは、より大きなネイティブ メモリ プールと比較してパフォーマンスが低下することを意味していました。可能であれば、拡張メモリを使用する方がよいでしょう。しかし、その 1MiB のメモリ制限に制限されたシステムとソフトウェアでは、拡張メモリがより多くのメモリを獲得する唯一の方法でした。

拡張メモリを使用する最初の主流の公共システムは、LIM EMS 3.0 でした。LIM は、Lotus Development、Intel、Microsoft の 3 社の頭字語です。EMS は、拡張メモリ仕様の略です。バージョン 3.0 では、PC に 4 MiB を追加できました。現代の基準では、それは本質的に何もありませんが、IBM PC のメモリ容量が 5 倍になりました。EMS の最終バージョンであるバージョン 4.0 は、最大 32MiB のメモリをサポートしていました。

バージョン 3.2 は、実際の製品が市場に出回った最初のバージョンです。ページを切り替える際の安定性を確保するために、4 つの 16KiB ページに分割された 64KiB ウィンドウを使用しました。

却下

1990 年代までに、Windows などのグラフィカル オペレーティング システムが、DOS などのテキスト ベースのオペレーティング システムを引き継いでいきました。これにより、拡張メモリの棺桶に最後の釘が打たれました。拡張メモリは、常に少し面倒な仕事でした。これは、ハードウェアの完全な交換が必要になる機能の問題を修正するために実装されました。新しい世代の DOS ベースの PC は、1MB の RAM に制限されていませんでした。それでも、膨大な数のユーザーがインストールされているため、ソフトウェアはそれをほとんど許容する必要がありませんでした。

オペレーティング システムのまったく新しいクラスへの切り替えにより、より大きなメモリ プールと仮想メモリ アドレスをサポートする保護モードを適切に使用できるようになりました。デフォルトで保護モードを介してより大きなメモリプールを使用するように切り替えたことは、拡張メモリの終焉を告げるものでした。メモリ領域の概念全体が本質的に時代遅れになりました。

結論

拡張メモリは、上位メモリ領域のウィンドウ アドレスを介してメモリのバンクをページインおよびページアウトする方法を指すために使用される用語でした。全体の概念は、CPU の制限によって引き起こされる IBM PC のハード 1MiB メモリ制限を回避するために開発されました。新しいメモリ空間を追加できませんでした。それでも、メモリのセクションを使用してからスワップアウトし、必要に応じてスワップインすることで、メモリのセクションを繰り返し使用することができました。そのためには、特別なドライバーとハードウェアが必要でした。後の実装では、ハードウェア機能をソフトウェアで実行できましたが、それは使用するメモリが以前から存在していたことに基づいていました。

拡張メモリは、IBM PC と互換性のあるソフトウェアを提供する必要性が原因で発生した問題でしたが、可能な量よりも多くの RAM を使用することもできました。Windows などのグラフィカル オペレーティング システムの出現により、オペレーティング システムの互換性の状況が変化しました。その時点で、元の PC が持っていた 1MiB をはるかに超えるメモリをネイティブにアドレス指定できるようになったため、問題と拡張メモリのソリューションの必要性は蒸発しました。この概念は、1990 年代初頭から本質的に時代遅れになっています。



Leave a Comment

ハードドライブのクローンを作成する方法

ハードドライブのクローンを作成する方法

データが貴重な資産である現代のデジタル時代では、Windows 上でハード ドライブのクローンを作成することは、多くの人にとって重要なプロセスとなる可能性があります。この包括的なガイド

Windows 10でドライバーWUDFRdのロードに失敗した場合の修正方法

Windows 10でドライバーWUDFRdのロードに失敗した場合の修正方法

コンピュータの起動中に、ドライバ WUDFRd をコンピュータに読み込めなかったことを示すエラー メッセージが表示されましたか?

NVIDIA GeForce Experienceエラーコード0x0003を修正する方法

NVIDIA GeForce Experienceエラーコード0x0003を修正する方法

デスクトップで NVIDIA GeForce experience エラー コード 0x0003 が発生していますか? 「はい」の場合は、ブログを読んで、このエラーをすばやく簡単に修正する方法を見つけてください。

Chromebook の電源が入らないのはなぜですか

Chromebook の電源が入らないのはなぜですか

「Chromebook の電源がオンにならないのはなぜですか?」という質問に対する答えを見つけます。この役立つガイドは Chromebook ユーザー向けです。

Fitbit Versa 4 の文字盤を変更する方法

Fitbit Versa 4 の文字盤を変更する方法

Fitbit Versa 4 の文字盤を無料で変更して、時計の外観を毎日変えることができます。それがいかに早くて簡単かを見てください。

ルンバが止まったり、くっついたり、向きを変えたりする – 修正

ルンバが止まったり、くっついたり、向きを変えたりする – 修正

ルンバ ロボット掃除機が停止し、固着し、回転し続ける問題を修正します。

Steam Deckのグラフィック設定を変更する方法

Steam Deckのグラフィック設定を変更する方法

Steam デッキは、堅牢で多彩なゲーム体験をすぐに提供します。ただし、ゲームを最適化し、可能な限り最高のパフォーマンスを保証するには、

分離ベースのセキュリティとは何ですか?

分離ベースのセキュリティとは何ですか?

サイバーセキュリティの世界でますます重要になっているトピック、つまり分離ベースのセキュリティを詳しく掘り下げる予定でした。このアプローチは、

Chromebook でオート クリッカーを使用する方法

Chromebook でオート クリッカーを使用する方法

今日は、Chromebook で繰り返しクリックするタスクを自動化できるツール、オート クリッカーについて詳しく説明します。このツールは時間を節約し、

SMPSとは何ですか?

SMPSとは何ですか?

コンピューターに SMPS を選択する前に、SMPS とは何か、およびさまざまな効率評価の意味を理解してください。