2016-09-24 5 views
0

私はx86 cpuの新版です。x86保護モードメモリ管理

x86のプロテクトモードのメモリ管理に関するすべての資料を読みました。

材料は、私は、CPUがメモリにアクセスしているとき、私は多くのステップを理解すると信じてインテル®64およびIA-32アーキテクチャー・ソフトウェア・デベロッパーズ・マニュアルボリューム3A、システムプログラミングガイド、パート1

です。 :セレクタ・レジスタはセグメント・ディスクリプタ・テーブルのインデックスであり、ディスクリプタ・テーブルのエントリはセグメントのベースであり、リニア・アドレスはセグメントのベースと32ビット・オフセットの加算です。

しかし、私が混乱しているのは、上記のすべての手順が完了するまで、CPUが最初にアクセスするメモリアドレスを知ることができないように思えます。 CPUが特定のメモリアドレスにアクセスしたい場合は、セレクタ値とオフセットを知っていなければなりません。しかし、私の質問は、それがどのように知っているのですか?情報だけがCPUにアクセスしたいメモリアドレスであることを知っていますか?

出力(メモリアドレス)のみを知っているとき、CPUはすでに入力(セレクタ値、オフセット)を知っていますか?

+2

GDTアドレスが線形アドレスであるか、またはCPUが私があなたが参照していると思われる周期的な問題が発生します。それがあなたが求めているものでないならば、より正確になりますか? –

答えて

0

...高度な構成と電源インターフェイス(ACPI)

  • 、マイクロプロセッサリアルタイムクロックや、タイマーチップ

    • よる 'クロック信号'
    • と呼ばれる周期関数メモリー・コントローラー・ハブによって、
    • チップ内の不揮発性メモリ(RealMode Memory Map)
    • ローカルディスクリプタテーブル(LDT)は、プロテクトモードのx86アーキテクチャで使用され、メモリセグメント記述子を含むメモリテーブルです。線形メモリ、サイズ、実行可能性、書き込み可能性、アクセス権、メモリ内の実際の存在などで始まります。
    • 割り込み記述子テーブルは、割り込みベクタテーブルを実装するためにx86アーキテクチャで使用されるデータ構造です。 IDTは、割り込みと例外に対する正しい応答を決定するためにプロセッサによって使用されます。
    • インテル8259は、インテル8085およびインテル8086マイクロプロセッサ用に設計されたプログラマブル割り込みコントローラ(PIC)です。最初の部分は8259で、後のA接尾辞のバージョンは上位互換であり、8086または8088プロセッサで使用可能でした。 8259は、

    あなたはまたリアルモード

    を欠落プロセッサ・チップ上に見出される一つまたは二つのレベルを超えてシステム内で利用可能な割り込みレベルを延びる、ホストマイクロプロセッサに1つの割り込み出力に複数の割り込み入力ソースを組み合わせ

    見た目もDOS_Protected_Mode_Interface &仮想制御プログラムインターフェイス

    どのようにCPUのタイマーチップ制御リセットライン? はGoogle特許からもOSCILLATOR CIRCUIT WITH SIGNAL BUFFERING AND START-UP CIRCUITRY参照

    real time clock

    CPU「スタート」...

    を、FFFF0 ルーチンテスト中心のハードウェアアドレスで、マザーボード上のROMに格納されたコードを実行するビデオROM を検索

    ..だから電源ラインが「開始」

    電源ということですので、それは「スタート」というCPUではありませんプロセッサへのリセットラインを制御するプロセッサタイマーチップによって受信されるマザーボードに送信されます。

    BIOS detect RAMはどうなりますか? CPUがリセットされる場合

    BIOSは、実モードで実行されている16ビットプログラムでパワーオン・セルフテスト(POST)、また、シリアル存在がを検出する参照

    は、BIOSはPOSTを開始します。 CPUが実行しようとする最初のメモリ位置は、リセットベクトルと呼ばれます。ハードリブートの場合、ノースブリッジはこのコードフェッチ(要求)をシステムフラッシュメモリにあるBIOSに指示します。ウォームブートの場合、BIOSはRAM内の適切な場所に配置され、ノースブリッジはリセットベクタコールをRAMに指示します

    このリセットベクトルとは何ですか?

    リセットベクタは、中央処理装置は、リセット後を実行する最初の命令を見つけるために行くデフォルトの場所です。 リセットベクトルはポインタまたはアドレスであり、CPUは命令を実行できるようになるとすぐに開始する必要があります。 アドレスは不揮発性メモリのセクションにあり、は、CPUを含むシステムを起動するプロセスの最初のステップとして、CPUの動作を開始する命令を含むように初期化されています。
    8086プロセッサのリセットベクタは、物理アドレスFFFF0h(1 MBより下の16バイト)です。リセット時のCSレジスタの値はFFFFhであり、リセット時のIPレジスタの値は0000hであり、物理アドレスFFFF0hにマップされるセグメント化アドレスFFFFh:0000hを形成する。ノースブリッジ

    ノースブリッジまたはホストブリッジについて

    他のサウスブリッジである、PCマザーボード上のコアロジックチップセットアーキテクチャにおける2つのチップの1つです。

    "80386プログラマーズリファレンスマニュアル"(PDF):サウスブリッジとは異なり、ノースブリッジは、フロントサイドバス(FSB)

    ソースを経由してCPUに直接接続されています。 Intel。 1990年。セクション10.1リセット後のプロセッサの状態
    「80386プログラマーズリファレンスマニュアル」(PDF)。 Intel。セクション10.2。3 First Instruction、

  • 関連する問題