ぼくのかんがえたさいきょうCPU: ZLSアーキテクチャ

 風呂で思いついた。長いデータを格納できるレジスタをどう活用するか。

 作業用のスクラッチパッドメモリというのがある。巨大な主記憶とは別にコアに近い部分にアクセス速度が早い小容量のメモリを用意し、こちらで作業することにより高速に処理できるようにする。そのスクラッチパッドメモリをどう見せるかだが、あるプロセスだけに局所的に見せようとするにはリソースの管理が必要になる。

 巨大なデータを格納できる汎用レジスタがあれば、ここにスクラッチパッドメモリの領域を割り当てて、汎用レジスタの末尾バイトをベースとしてMSB方向へ伸びるアドレスでその汎用レジスタ内にロード/ストア命令でアクセスできるようにする。そしてその汎用レジスタを使い終わったら破棄してしまえばよい。

ALLOC レジスタ番号,サイズ サイズ=0のとき破棄
FREE レジスタ番号 上記のサイズ=0のエイリアス

ALLOCは成功/失敗のステータスをRfに返す。FREEは常に成功する。

 ここでスクラッチパッド型が与えられた汎用レジスタの実現方法としては、その汎用レジスタをメモリとみなしたロードストア命令がきたら特定のアドレス変換でスーパーバイザ側で割り当てたメモリ領域にアクセスさせてもよいし、スクラッチパッドメモリに直接アクセスさせてもよい。スクラッチパッドメモリのリソース管理を隠蔽することができる。スクラッチパッド型の汎用レジスタの内容は他の汎用レジスタの内容と同様にコンテキスト切り替えで保存される。切り替えは汎用レジスタの内容をどこかに保存しなくてもよくて、スクラッチパッド型で示すローカル作業領域のポインタとなる情報を退避するだけでよい。

 これを実現するためにはロードストア命令の拡張が必要。スクラッチパッド型レジスタがオペランドのベースレジスタの位置に現れたら、その汎用レジスタの内容を対象としたアクセスを行う。
 メモリバリア系の命令について、スクラッチパッド型レジスタをオペランドで与えられたらそのレジスタ内の内容を変更する操作が完了するかどうかを判断する。

 まだ細かいところは詰めていないが思いついただけで満足である。ゼロ・ロード・ストア アーキテクチャ。Z L S ……


【Amazon.co.jp限定】(初回盤)ゾンビランドサガ フランシュシュ The Best (特典:新曲「佐賀事変」MVの絵コンテ データディスク) + 複製描き下ろしサイン入りミニ色紙1枚 - フランシュシュ
【Amazon.co.jp限定】(初回盤)ゾンビランドサガ フランシュシュ The Best (特典:新曲「佐賀事変」MVの絵コンテ データディスク) + 複製描き下ろしサイン入りミニ色紙1枚 - フランシュシュ

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント