Intel CPUの詳しい(古い)資料など
IA-32上で走るOSや486辺りのエミュレータ、或いはパチモンのRTLを書いたりする場合、CPU実機の細かい挙動を知りたくなることがあるかもしれません。通常、詳しい公式資料というと「IA-32 インテル・アーキテクチャ ソフトウェア・デベロッパーズ・マニュアル」を見ることが多いのではと思うのですが、これはあくまでもアーキテクチャ共通の記述しかなく、各プロセッサ固有の事柄についてはあまり触れられていません*1。
実は、古いモデル(特に386)についてはデータシートや関連するドキュメントの記載が充実していまして、命令セット表やバスサイクルの解説などと一緒にこういった細かな情報についても書かれていました*2。486DX4の頃になるとデータシートは幾分寂しいものになってしまいますが、エンベデット版固有のドキュメントで同じレベルの記載が残りました。一方、Pentium以降はデータシートやWeb上に上がっている文書からは細かい挙動がわかりにくくなってしまったようです。
ということで、486DX4までであれば比較的詳しい説明が得られます。
肝心の入手方法ですが、当然ながら今のIntelのサイトには上がっていません。そこでInternet Archiveの出番です。以下にリンクを張っておきますのでご利用下さい。尚、各文書について、ダウンロード先サーバの選択ではHTTPのみが使えるようですのでご注意を。
特に有用そうなものを列挙しておきます。
- 80386DX データシート
- 80387DX データシート
FPUの詳細が知りたい方はこちらをどうぞ。 - Embedded Intel486プロセッサファミリ デベロッパーズマニュアル
386のデータシートに書かれていたソフト観点で使いそうな項目を、486用にアップデートしたような文書です。キャッシュの詳解、細かい所要クロック数やペナルティ時の所要クロック数なども記載されています。 - Embedded Intel486プロセッサ ハードウェアリファレンスマニュアル
上記のハードウェア版。
何か必要そうな情報がありそうだと思った方はぜひ活用してみて下さい。
結局今年は親指シフトネタばっかりで全然OS関係のブツを上げられませんでした。Galileoのディスコンにも間に合わなかったし…。かなりフラストレーションが溜まっています。ということで、今年最後の悪あがきでOSネタと関連する記事を書いてみました。
外には情報を上げてないのでアレですが、開発中のOSは今年一年でかなり良い方向に進化してきました。これに関連して書きたいことも大量に溜まっています。個人的には、ある程度動くブツをリリースした上で書く方がやりやすい気がしているのですが、頭を整理する為にも、少しずつ文章化して公開していった方が良いのかもしれません。この辺は暫く考えたいと思います。
直近で嵌まって暫く開発が止まったりもしたのですが、まぁアレですね、やりたい事(例えばアプリケーションとか)がかなり明確になっている以上、欲張っちゃいかん…と。最低限必要なネタ以外はある程度割り切って、ちゃっちゃか進めたいと考えているところです。春までに成果物が何か公開できれば良いなぁ…と思います。
それでは、皆様良いお年を。