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

アクセスカウンタ

zoom RSS 256bitの加算器を実現するには・除算時の割り込みについて

<<   作成日時 : 2010/09/30 05:11   >>

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

 256bitアーキテクチャのマシンで256bit分の算術演算は本当に必要だろうか?64bit分で充分じゃなかろうか。しかし32bit,64bit,128bit,256bitアーキとレジスタ長さで定義したら実装しないわけにはいかない。今64bitの加算器が1個しかないと仮定すると、256bit分の演算には最大4サイクルかかる。ただしたいていの演算は64bit以下とすると、実装によっては実行に1〜4サイクルかかる。これはパイプラインの実行ステージが延びることになる。まあ乗算命令も1サイクルではできないしこれでもいいかもしれない。また、この変な悩みは256bitアーキという大規模な計算機を想定したもので、そういったヤツは割り込み応答が数サイクル遅くなっても動作周波数が高いので問題はない。32bitアーキのように小規模な場合はそもそも普通の演算のサイクルが延びるといった問題はない。
 問題は除算だ。除算は除数、被除数によって実行サイクルが大幅に変わる。(〜70サイクル程度)この間割り込みを受けたら除算をキャンセルし割り込み回復後に再実行するか、除算が完了するまで待たなければならない。除算を命令セットに入れたくないなと思っているのはそのためだ。除算を命令トラップによるエミュレーションにすると、除算エミュレーション実行時に他の割り込みが発生しても多重割り込みが処理できれば即座に応答できる。命令フォーマットだけ定義してエミュレーションするのが割り込みに関しては妥当ではないだろうか。

テーマ

注目テーマ 一覧


月別リンク

ブログ気持玉

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

トラックバック(0件)

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

トラックバック用URL help


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

タイトル
本 文

コメント(2件)

内 容 ニックネーム/日時
エミュレートするかどうかはまさに実装依存でいいのでは無いですかね。SPARC の場合、(ISA上定義されていて)実装していない命令は illegal_opcode とか unimplemented_fpop とかのトラップを上げることで、特権ソフトがエミュレート可能になっています。256bit の乗算もハードインプリしたいとはあまり思いませんし。

あと、70cycle 程度はごみというか、キャッシュミスしたメモリアクセスや PIO アクセスに比べれば一桁は速いので、処理レイテンシはあまり理由にならないと思います。
m.ukai
2010/10/14 12:04
除算のサイクルはその程度のものでしたか。特に小規模な実装(32bitアーキ)では目立ってくるかなと思ったもので。
SPARC64に関してはpopc命令が昔は実装依存でハードでは入ってなかったのに最近のは入ってるみたいですね。
houmei
2010/10/14 12:55

コメントする help

ニックネーム
本 文




256bitの加算器を実現するには・除算時の割り込みについて 竹下世界塔の計算機よもやま話/BIGLOBEウェブリブログ
文字サイズ:       閉じる