• ベストアンサー

ページフォールトを発生させるメモリ管理ユニットとはCPUの中の部品なん

ページフォールトを発生させるメモリ管理ユニットとはCPUの中の部品なんですか? ページフォールトについてwikipediaで見てみると、「ハードウェアが発生する割り込み」とあります。ハードウェア"から"発生するなら、ページフォールトは外部割込みだと思いました。しかし基本情報技術者の過去問によると違うようです。ページフォールトを発生させるメモリ管理ユニットとはもしかしてCPUの中の部品なんですか? ちなみにH18春問21です。

  • ghfjri
  • お礼率92% (372/403)

質問者が選んだベストアンサー

  • ベストアンサー
  • rinkun
  • ベストアンサー率44% (706/1571)
回答No.2

MMU(メモリ管理ユニット)は現行ではまずCPU内蔵ですね。過去には外部ユニットだったものもありますが、その場合でも普通の外部割込みとは別扱いになっていたと思います。 外部割込みはCPUの命令実行と非同期に発生した事象を命令の合間に捕捉して処理するためのもので、一般的に外部割込みの検出が何命令か後になっても何も問題ありません。しかし、ページフォールトは命令の実行に関連して発生するもので、ページフォールトを処理しない限り該当命令を完了できません。このため、通常は命令の実行を一旦止めてページフォールト処理を呼び出し、そのあとで該当命令を再実行します。 これに対して外部割込みは実行中の命令が終わった後に検出・処理して次の命令から実行を再開します。 このように検出・処理のタイミングと動作が異なるので、ページフォールトは外部割込みとは別のものとして扱います。

ghfjri
質問者

お礼

回答ありがとうございます。 こちらの質問の意図を汲んでいただき、助かります。 大変勉強になる回答でした。

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

今どきのプロセッサならほとんど MMU を内蔵していますが, かつては MMU を外付けにする構成もありました.

ghfjri
質問者

お礼

回答ありがとうございます。 やっぱりそうだったんですね。

関連するQ&A

  • 割込みとページフォールト

    割込みとページフォールト ページフォールトについてwikipediaで見てみると、ハードウェアから発生するとあるのですが、ハードディスクから発生するなら、ページフォールトは外部割込みだとおもうのですが、違うようです。なぜなんでしょうか?

  • ページフォールト

    Windows XP Embeddedを使用しています。仮想メモリは無しとしています。アプリケーション を動作させると、異常なメモリリーク(初期は10MBから90MBまで増加)が発生し、動作も 不安定になりました。いまのところ原因の特定に至っていません。 タスクマネージャで見るとアプリケーションにページフォールトが発生しています。 これは正常なのでしょうか? 正常とすれば、スワップファイルを持たないのにページフォールトが処理されているのでしょうか?

  • メモリのハードフォールト・仮想メモリについて

    PC環境: OS・・・Windows7 64bit CPU・・・i7-875K @3.5GHz VGA・・・GTX480 メモリ・・・8GB システムドライブにSSDを使用しています。 リソースモニターのメモリのタブからハードフォールトを確認すると、頻繁ではないですが結構な回数発生しているようです。 (当方の認識ではハードフォールトとは、「メモリ上にあるアクセス頻度が低い等の理由であまり必要がない内容を仮想メモリに移動させたり、それを再度読み込んだりすること」なのですが、これは正しいでしょうか?) 8GBメモリを積んでいてなかなかメモリ不足にはならないと思うので、仮想メモリを削除して全てメモリ上で処理させた方が、SSDへの書き込み回数も減るし、SSDがボトルネックになることもなくなると思うのでその方が良いのではないかと思ったのですが、これは間違っているでしょうか?

  • デマンドページングの動きについて

    「ページフォルト」が起こると割り込みが発生しますよね。 だから割り込み処理プログラムが必要だと思うのですが、 そこではどんな処理をしているのですか?  割り込み以外の部分では何をしているんですか?  ページ追い出し処理はどうすれば、またどこにあればいい のですか? 

  • OSの割り込みについて

    以下の各々の割り込みについて。 必要な処理を、なぜ他の方法ではなく、割り込みを通してOSに行ってもらうのか? よくわからなかったので、どなたか教えてください。 ・ハードウェアの誤り検出 ・入出力処理終了の報告 ・タイマ ・外部信号割り込み ・ソフトウェアの誤り検出 ・ページフォールト/アドレス変換例外 ・システムコール/カーネルコール

  • 8086のメモリ管理について。

    8086のメモリ管理について。 いつもお世話になっております。 小生、現在ポケコンZ-1GRでx86アセンブリを勉強中のアセンブリ初心者です。 今回質問させて頂きたいのは8086のメモリ管理についてです。 8086はメモリ管理にセグメントとオフセットという方法を使い、全部で2MBのメモリが使用できるのは、理解できました。 理解できないのは、物理メモリへの変換の際、(セグメントアドレス X 10H) + オフセットで物理メモリにアクセスできるという箇所です。 セグメントアドレス X 10Hで20bitのアドレス空間を操作できるのは分かるのですが、 問題はセグメントアドレス X 10Hがどこの箇所(例えばCPUの中)で行われているのでしょうか? MMUはもちろんないはずだと思います。 お忙しい中、大変申し訳ございませんが、先輩方ご教示宜しくお願い致します。

  • CPUとメモリを上げたい。

    現在、DELLのデスクトップを使用してます。1年くらい前に、1番安いタイプを購入しました。 プロセッサ Intel(R) Celeron(R) CPU 2.40GHz プロセッサ速度 2.34 GHz メモリ (RAM) 512 MB オペレーティングシステム Microsoft Windows XP Home Edition が、分かる範囲の状態です。この頃、本格的に動画やデジカメ画像を扱うことが多くなり、性能を上げて作業効率も上げたいです。 もちろん私は、自作パソコンを作った経験もなく、近所の全国区のパソコン屋さんに、部品の交換、増設等は頼もうと思っております。CPUやメモリの値を単純に上げたいです。約1年後のVistaの存在も気になりますが、当時、苦労して買ったものなので大事に使いたいです。 最新のパソコンレベルまで上げるとなると、予算はどれくらいかかりますか?パソコン屋さんの技術料も含めての値段も含めて欲しいです。予算は5万円前後くらいを予定してます。それ以上なら、Vistaのために、お金を貯めたいです。 有名なメーカーはありますか?もちろん安くて質の高いものを紹介していただきたいです。簡単に説明いただけるとありがたいです。よろしくお願い致します。

  • 自作PCでベアボーンキットの解説書にCPUのFSBがメモリ(DDR400)に対応していないんですが

    昨日、ベアボーンキットを買ってきました。店員さんのお奨めでメモリなども買いました。 CPUはCeleronDです。外部クロック(FSB)は533MHzです。で、店員さんのお奨めでDDR400MHzのメモリを買ったんですが。。 ベアボーンキットの解説書に「FSB533MHzのCPUの場合、メモリ周波数は333MHzか266MHzをサポートする」と書いてあります。 やはり、交換してもらったほうがいいのでしょうか?自分としては、しっかりとした部品で作りたいです。 知識のある方よろしくお願いします。

  • IEのメモリCPU食いつぶし鈍化について

    WindowsXP Pro SP2、IE8.0です。 ネットサーフィンをしていると(100回単位でのページ移動)、使用メモリ(およびページングファイル量)が増えてきて、重くなり、ページを切り替えるにも数秒の時間がかかり、その間のCPU使用率が100%になる状態が発生します。 とても重く、コンピュータにも負荷がかかる状況です。 (いったんすべてのIEを閉じ、再度IEを開くと元通りになる) そんなわけで、なにか対策がありませんでしょうか? 「IEでネットサーフィンをしているけど、重くならない方法」 エラーやバグではないです。スペックアップで解決はナシの方針で。 ブラウザを変えるというのもナシな方針で。 これらに見合う解決方法があればぜひお教えいただけるとありがたいです。

  • USBメモリを挿し込むとブルースクリーンが発生

    環境:WindowsXP SP3, Dell Optiplex 760SFF ブルースクリーン(STOPコード)が発生しました。 コード番号は0x1000008e (0xc0000005, 0x8052fdac, 0x983592b0, 0x00000000) です。 コード番号のみで、他に情報はありません。 メモリやCPU等、ハードウェアの診断を入念に行いましたが異常は見られませんでした。 USBポートにUSBメモリを挿し込むと、ブルースクリーン(STOPコード)が発生します。 旧WHS(Windows Home Server)も利用しており、バックアップを表示させる際、ドライブがマウントされますが、同様にブルースクリーン(STOPコード)が発生します。 セーフモード(ネットワークあり)で起動し、USBポートにUSBメモリを挿し込むと、ブルースクリーン(STOPコード)が発生しません。 そのため、通常起動後、目に見えないものも含め、常駐ソフトを全て終了させてから、USBポートにUSBメモリを挿し込んでみましたが、ブルースクリーン(STOPコード)が発生します。 システムの復元にて、過去の復元ポイントを選択したところ、「ドライブに適用された変更はX: X: X: ドライブがシステムの復元の監視から除外されていたか電源がオフになっていたか、また取り外されていたためこれ以降取り消すことができません」のメッセージが表示されました。 X: X: X: ドライブは存在しない(ドライブレター表記自体がおかしい)ため、恐らくプラグ&プレイ(USBの抜き差し)を繰り返した際に、何かしらの不具合として残ってしまったのだと考えています。 このメッセージを無視して、復元を試みましたが、USBポートにUSBメモリを挿し込むと、ブルースクリーン(STOPコード)が発生します。 現在、OSの再インストールを検討していますが、同様の問題が発生し、改善ができた方がいらっしゃったらご教授頂けますと助かります。