id: 634 所有者: msakamoto-sf 作成日: 2010-04-04 18:13:22 カテゴリ: Assembler Windows 読書 [ Prev ] [ Next ] [ 技術 ] "WindowsOS内部のアーキテクチャのすべて"の第4章の要約、読書メモとなります。 本記事では以降、"WindowsOS内部のアーキテクチャのすべて" を "Windows OS Internal Architecture" として "WOIA" と略します。 (4章) Intel 80286 (16bit時代, 1982 - ) と Windows 3.0/3.1時代Intel 80286内部レジスタ構成 リアルモードでのアドレス指定とメモリレイアウト "特権レベル"(Privilege Level)について プロテクトモードのアドレス指定(セグメントディスクリプタを使ったセグメン
プロテクトモードの割り込みでは、リアルモードの割り込みと以下の点が異なります。 割り込みベクターテーブルは固定アドレスでなく、割り込みディスクリプタ・テーブル(IDT)を使用し設定する。 CS,IP,EFLAGSレジスタを待避するスタックが異なる。 ソフトウェア割り込みの実行権限を設定出来る。 プロテクトモードのベクターテーブルは固定アドレスでしたが、リアルモードの場合は、割り込みディスクリプタ・テーブル(IDT)を定義して、ベクターNoと割り込み/例外処理の対応をつけます。IDTは、GDTやLDTと同じように8バイトのゲート・ディスクリプタの配列になっています。 そして、セグメント機構と同じように、ディスクリプタ・テーブルのアドレスを格納しておくIDTR[Interrupt Descriptor Tbale Register]があり、CPUはこの値を使用して、ディスクリプタ・テーブルにア
プロテクトモード時のセグメント機構は、リアルモード時のそれとは大きく異なります。リアルモードの場合、メモリへのアクセス範囲は1MByte(0x00000-0xfffff)に制限されています。またセグメントレジスタには、セグメントアドレスをセットする事によりメモリのアクセスを行います。 一方、プロテクトモードの場合、メモリのアクセス範囲は4GByte(0x00000000-0xffffffff)まで拡張されていて、セグメントレジスタには、メモリのアクセス範囲やアクセス属性が設定された、ディスクリプタ・テーブル[Descriptor Table]のセレクタ値と呼ばれるインデックス値をセットする事によりメモリアクセスが行われます。 セレクタは、セグメントのアドレス・サイズ・属性を格納しておく、ディスクリプタ・テーブル[Descriptor Table]のインデックスとなっていて、CPUはその内容
どの世代でも、当時のマシンに搭載されていた標準的な物理メモリを越えた場所を指している。 これは割り込みベクタの影響でアドレス0を使えない為と、最初の命令フェッチから始まる初期化プログラムをなるべくアドレスの高位に配置することで、一般的なプログラムの使えるアドレス空間を邪魔しないようにとの意図らしい。 BIOSが格納されたROMは、電子回路のレベルでこれら高位アドレスにマッピングされるよう調整されている。 IBM PC 5150 ではROM BIOSがFE000以降にロードされるようになっており、丁度 FFFF0H に、BIOSコードの先頭へJMPする機械語コードが配置されている。(後述) ※1 : 80286は24bitのアドレスバスを持つが、リアルモードでは20bitしか使われない。A20-A23はリセット後は1になっている。そのため、CSこそ"F000H"になっているが、もう4bit分
はじめて読む8086 ノート 構成概要 論理構成としてはこんなかんじになる。 物理的にはアドレスバス・データバスは同一の信号線であり、非常に細かいインターバルで目的に応じた切り替えを行っている。 アドレスバス 2種類のアドレスデータが通るバス。 1 MB のメモリ空間から任意の1バイトあるいは1ワードを選択するための20ビットアドレス I/O ポートを選択するための16ビットアドレス(つまり最大 65536 ポート) データバス 2種類のデータを読み書きするためのバス。 メモリにリード or ライトするデータ 入出力ポートにリード or ライトするデータ 1アドレスが1バイトに対応する構成の場合は、利用可能なメモリが最大 1 MB(2^20 = 1,048,576 バイト) 負数の扱い 最上位ビットが立ってると負数ってやつ。 バイト FF をインクリメントすると 01 00 でオーバフロー
はじめに 昨日の「Intel Quark SoC X1000搭載Intel Galileo Boardを発表」では「Intel Galileo Board(以下、Galileo)」としての仕様についていろいろと書きましたが、今日はGalileoから離れて「Intel Quark SoC X1000(以下、Quark)」自体の仕様について抜粋して紹介したいと思います。なお、抜粋内容に含まれる性能や主張はIntel発表そのままであり、筆者の主張ではありませんので、その点はご理解ください。 主な仕様 Intel Quark SoC X1000はセキュアで低電力消費となるように設計された、組み込み分野向けのIntel Architecture SoC(以下、SoC)です。セキュアな利用を可能にするために、SoCにはオンダイで統合されたブートROMを持ちます。ブートROMは外付けの場合と異なり、リセ
はじめに 昨日の「Intel Quark SoC X1000自体の仕様」に続いて、今日はIntel QuarkのプロセッサーコアIPである「Intel Quark Core(以下、Quark Core)」について書いてみたいと思います。 80386でもPentiumでもない 先日「Intel Quarkの正体は80386?それともPentium?」で、Quark Coreが80386だという説とPentium(P54C)だという説の2つの記事を紹介して、私はPentiumだという後藤弘茂さんの説を支持しました。正確にはフルシンセサイザブルだということなので、Pentiumそのものではないだろうと思い、「Pentiumベースである」という書き方にしてはいますが、要するにPentium系だろうと考えていました。 しかし、Quark CoreはPentiumベースではあるものの、Pentiumと
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く