竹下世界塔の計算機よもやま話

アクセスカウンタ

zoom RSS ぼくのかんがえたさいきょうCPU タグアーキ

<<   作成日時 : 2014/05/31 00:37   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

 データに属性を与えるタグだが、メモリのアクセス単位が32,64,128bit...となると扱うデータ幅を削るか別の場所にタグ領域を用意するしかない。

以前考えたタグの付与。
ぼくのかんがえたさいきょうCPU エンディアンとタグ付きデータの扱い


今回はメモリ上にデータ領域とそれに対応するタグ領域というのを考えてみる。

例:
データ領域:0x0000-0xffff の64キロバイト、この中の8バイト単位に8bitのタグを付けるとして
タグ領域:0x0000-0x2000 の8キロバイト、データ領域とは異なる空間

実際にはアドレス変換機構で物理メモリからこれらの領域に割り当てる。タグ領域はデータ領域よりも小さく、また優先的にキャッシュにヒットするように指定できる。

・タグ付ロード/ストア命令 汎用レジスタRnとそのレジスタに対応するタグレジスタTnを使用する。

TLD R0,[アドレッシングモード] → R0にデータ、T0にタグをロード
TST R0,[アドレッシングモード] → R0とT0をメモリに保存、保存後タグ情報を無効化

 タグ付ロード命令では先にタグ部分を取り込むことにより、後続の演算命令を行うべきかどうかの判断を先に済ませることができる。また、ロード完了待ち/ストア完了待ちの状態も持つが、これらはメモリ上には保存しない。
 ロード時のデータ領域、データ幅の指定はどうしようか?タグレジスタでデータ幅を記録しておいた方がよいかもしれない。

 タグ付の演算はどうするか?ニーモニックの先頭にTを付けて種類を増やすか?通常ロード時にはレジスタに対応するタグレジスタは無効であり、タグ無効同士の演算はこれまでどおり、タグが有効なレジスタ同士の演算はタグの比較を行い、不一致でトラップなど発生としようか。

 汎用レジスタの下位をタグに割り当てるよりも対応するタグレジスタを付けることで、データ幅も主流のプロセッサと合わせることができ、演算命令もいじらなくてよい。ただしメモリ空間は余計に必要でアドレス変換機構やキャッシュの支援も必要。
 汎用レジスタの自然な長さに合わせれば、データ幅のことは意識しないで済ませることができそうなのだが、このへんはもうちょっと考える。

テーマ

注目テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文




ぼくのかんがえたさいきょうCPU タグアーキ 竹下世界塔の計算機よもやま話/BIGLOBEウェブリブログ
文字サイズ:       閉じる