質問

これらの "プログラマが目まぐるしく移り変わる x86-64レジスタ:

alt text
(出典: usenix.org)

何に見えないレジスタ?このこMMUの登録、割り込み記述子テーブル(IDT)これらの見えないが登録する私が学習そのものです。あな資源(書籍/ドキュメンテーション/etcを保つことが私の絵は一回しか出来ないのですか?

知っているし、プログラマの見えるレジスタ-快適なプログラミングします。ていただきたいと思い知見えないレジスタとその機能.用していただきたいと思い、完了します。ジからダウンロードができます。

編集:

用していただきたいと思い、完了します。ジからダウンロードができます。

これらの図書く理解これらのすべての低レベル。

  1. 基礎コンピュータ機構の設計~Sivarama P.Dandamudi-1号(2003年)
  2. コンピュータ機構の設計:ハードウェア/ソフトウェアインタフェースを4版~David A.Patterson,John L.ヘネシー
役に立ちましたか?

解決

IDTは、抽象的視野から、このようなものが含まれている割り込みディスクリプタ・テーブル、あり、最初の18回の割り込みがプロセッサによって予約されて、次の18チップのアーキテクチャを校正将来のためにインテルが予約されています...

Interrupt    Handler
   0         divide_by_zero_handler
   1         debug_handler
   ..           ...
   13        general_exception_handler
   14        page_fault_handler
   ..           ...
   18        machine_check_handler

このコンテキストでは、ハンドラはおもちゃのカーネルの一部であり、ハンドラの各々は、ユーザランドのコードの前にロードされ、起動時に設定されています。 、カーネルは、割り込みのいずれかが発行される場合、適切なハンドラは、割込み番号に応じて実行され、保護モードを32ビットに切り替わり、ハンドラを設定(BIOSは、リアルモードコード別名、16ビットコードです)。例えば、14が生成された割り込み、カーネルは、page_fault_handlerを実行するページが汚れているかどうかを確認し、ディスク上に存在する場合は、メモリにそのページをロードし、アドレスを修正し、ダーティビットをクリアし、IRET割り込みリターン命令を実行しますフラグをクリアし、継続する....

これは、このようなアドレッシングスキームをページング/フラット/保護/仮想モードとして、メモリ管理のアーキテクチャと種類に応じて...舞台裏で起こって、より複雑なものがあります... IDTがどのように機能するかの抽象図です。 ..

与え

こちらをご覧インテルのドキュメントインテルのプログラミングの優れかつ徹底的な眺め...

編集を バック(16ビットコードではなく良く、正確にメモリ保護された)DOSの昔では、それは、このような割り込み、割り込みの例については、オリジナルのIDTを重ねる再ルーティングするために、独自のハンドラへの割り込みハンドラ可能でした9割り込み(BIOSは、このコンテキストで割り込み)getvect(...)setvect(...)呼び出しを使用して、あなたはまた、(プロセッサ割り込みの全てではない、ゼロによる除算のために、特に、IDT 0)...これらのBIOS割り込みもののいくつかを扱うことができるキーボードでありますプロセッサの割り込みに外観が非常に類似していた、彼らは共通の特徴を共有し、両方(それは当時知られていたとして)、割り込みベクタのテーブルを持っていました。それはどのようにTSRプログラム(常駐型を終了)BIOSの結果は、TSRのハンドラに再ルーティングされた割り込みとしてDOSで再入を維持することができました...

でした

他のヒント

あなたが興味のある特定のプロセッサ用のプロセッサのリファレンスマニュアルを勉強する必要があります。ここでは<のhref =「http://www3.intel.com/design/itanium/downloads/245320.htm」のrelです= "nofollowをnoreferrer">のItaniumプロセッサ・リファレンス・マニュアルでます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top