« 新しいマザボ その後 | トップページ | 命令セットアーキテクチャを考える2 (レジスタ) »

2014/06/09

命令セットアーキテクチャを考える1 (想定条件)

命令セットを考える前提というか想定条件を明らかにしましょう。
想定そのものが最近のトレンドとは違っているというか、ありえないだろそれ、に近いようなものなので、あくまでも「ぼくのかんがえたさいきょうのめいれいせっと」です。

[前提条件、想定]

・PC/WS/サーバ用途の汎用CPU
 ・組み込み用/スパコンシステム用/GPGPUなどは想定しない

アセンブラでアプリケーションを作成するプログラマ向け
 ・ニーモニックコードが読みやすいこと
  →VLIW形式や遅延スロットは採用しない
  ・16進ダンプを見て理解できるくらいが理想
  ・固定長命令フォーマット
  ・ビッグエンディアンを採用

・マルチプロセッサ構成や仮想化支援機能などはよく分からない‥
  あくまでもアプリケーションプログラマから見える範囲

[基本的な構想]

・64bitアドレッシング

・整数データ形式は、符号付き二進数と2の補数、または符号無し二進数
・実数データ形式は、IEEE754の二進浮動小数点形式(単精度、二倍精度、四倍精度)

・32bit固定長RISC風命令セット
・load/store以外はレジスタ操作のみ

・64bit汎用レジスタ×64本、64bit(倍精度)浮動小数点レジスタ×64本
・R0はゼロレジスタ、FR0はゼロレジスタ

・連続する複数本のレジスタを使用する命令で、ゼロレジスタを指定された場合、ゼロレジスタが仮想的に拡張される(R1…,FR1…が使用されるわけではない)

・ダンプデータの見やすさという理由からビッグエンディアンを採用する。リトルエンディアンを採用するシステムとのデータ交換を容易にするために、バイトスワップ命令を備える。

|

« 新しいマザボ その後 | トップページ | 命令セットアーキテクチャを考える2 (レジスタ) »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: 命令セットアーキテクチャを考える1 (想定条件):

« 新しいマザボ その後 | トップページ | 命令セットアーキテクチャを考える2 (レジスタ) »