びびっと反転:
>特に反対はまだないようですね。
肯定意見ばかりだとつまらなさそうなので、お1つ^^;
「今まで計ったのが無効になりますね〜」
CyrixIIIとかレアだと思うのですが^^
#でも、反対派ではない^^;
>#countループ外で反転テーブル作成する
>#ずるっこ方式を考えてました。
あ、私の最終手段だったのに^^;
etc:
へ?合コン?花火?
つながりはないのかな?
#i-modeだと長い文は辛いのかな?(笑)
malloc
ビット反転で使おうと思っていたので、酔漢さんが
反転してくれるなら不要です。いろいろ皆さん、
ありがとうございます。
#countループ外で反転テーブル作成する
#ずるっこ方式を考えてました。
むに?
合コン?
i-modeより
なんですか
合コン?
□■■■□
■□□□■
■□□□■
□□□■□
□□■□□
□□■□□
□□□□□
□□■□□
キ、キ、キキ、キッスぅ(>w<)
はいはい、プでございます。
ただいまお外では花火などどっか〜んでございますが、
今年もプには縁がありません(TwT)
#煤i>w<)書いてるうちに終わってた・・・(爆
びびっと反転は、むしろその方向でお願いします(^^;
SOAとAOSのフラグの間違いは、なぜかほとんどの場合において発生します(>w<)
#慣れると(^^;グラフの形で・・・
そこで、エントリーの要求をシステムに登録する関数
を呼ぶようにするというのはどうでしょうか?
人間工学的デザインからそう出ました ←ウソ
ついでにその関数では自分で確保したreInitData, ... , imResultDataの
ポインタも渡せるようにしたらL2キャッシュも考慮に入れたプログラムが書ける・・・かも(^^;
mallocなど:
GPTRは例のヘッダファイルにあるかどうか確かめてません。すみません。
たぶん間違い無くあるとは思いますが・・・
MASMのあったパーティションがやられてから復旧してないので試してないのですm(_ _)m
#バージョン上がってそうだなぁ
>WinAPIも全て行けるみたいですね。
(^◇^)。でもWindowsの設計がアレなので
ALLアセンブラでやってもあまり面白くないかもです。
それから、Split-Radix版ではプもメイン以外はCで書いてます。
マシン語で書くと確かに違うけど、はまるのもはまるので結構イヤになってたり(^^;
【合コン相手探しの決定版】ついにオープン!
“3度の飯より合コン好き”な妖精・ライラックによる極楽サイト!
合コンしたいッ…でも相手がいない、足りない。そんなあなたを救っちゃいます。
合い言葉は『毎晩合コン』だぁ〜!!
ビット反転をサーキットで行うことに関しては、
特に反対はまだないようですね。プさんはどう
かな?
malloc:
Moetakaさん、Mallocじゃなくてスタック上にLocal
変数を取ってはどうですか?Local変数の取り方は
サンプルの中に説明をしてあります。
速度:
run allの時だけ遅くなるのは珍しいですね。デフォ
ルトでRun allはエントリーを3回実行して一番いい
値を使います。大体同じ値がでるのですが。
同じコードでも、エントリーの中の順番を変える
だけでアライメントの影響を受けて速度が変わり
ます(^^; 今回の件の原因はまだ不明ですが、
サーキットのほうも見ておきます。
互換CPUでは、IntelのCPUにあるパフォーマンスカ
ウンターが使えないため、計測に苦労します。正確
な値など望むべくもありません。プロセスの優先
順位でもいじってみようかと考えています。
チェレンコフ光:
眼球内発光はチェレンコフ光ではなかったのですね、
失礼しました。神経が刺激されるんだろうか(^^;;
チェレンコフ光と健康:
チェレンコフ光そのものは光なので見ても大丈夫で
す。実際、原子炉の整備の時には炉心のふたを開け
ますが燃料棒の周りの水が発するチェレンコフ光を
見ることができます。もちろん、発光しているあた
りまでもぐれば被爆します。
不思議です。個別にRunするとそこそこなのに
Run Allでやると”ちょっとだけ3Dnow!”が遅くなってしまいます。
なぜでしょう?ちなみにRUN ALL後の個別RUNはRUN ALL
前のRUNと結果は同じです。
Running C,SOA,Original...
4.88E+002 uSec, 3.42E+005 cycles
--------------------
Running C,ちょっとだけ3Dnow!...
4.55E+002 uSec, 3.19E+005 cycles
Entry micro-Sec cycle
C,SOA,Original 5.12E+002 3.59E+005
C,ちょっとだけ3Dnow! 5.32E+002 3.72E+005
To酔漢さん
SOA,AOSはそういう意味でしたか...ありがとうございます
#そんな大汗かかなくてもいいのに(^^)
SIMDでまた遊べそうです
ビット反転の件は、まだ勉強中の身ゆえ皆さんの判断に
お任せします。
FFTを勉強するという意味ではビット反転ないとこまります。
SIMDで遊ぶと言う意味なら無くてもいいかなー
ここは後者のようなので無くてもいいのかなー
Toプティタイジュさん
mallocの詳細な説明ありがとうございます。
解決はしていないのですが、訳のわからないところ
はcのままでいくつもりです。いきなりALL ASMは
私にゃ、ちょっと無理だということがわかりました。
Round3:
私は別に変更してもかまいません。
変更してもFFTの評価は難しいような気もします^^;
>原因判明。RF_SOAを忘れてました(爆)
これでは結果は絶対に合いませんね^^;
AOS:構造体の配列(普通はこっち。例、CPoint point[10])
SOA:配列の構造体
#日本語に直してもややっこしさは減らないかも^^;
>C,AOS,Original 5.91E+002 4.14E+005
>C,ちょっとだけ3DNow! 5.40E+002 3.78E+005
ちょっとだけの変更ですが、効果ありですね。
Athlonは元の2倍程度までしか伸びないので
K6の爆速化に比べると感動が少ないかも^^;
LIFE:
懐かしんでいただけたようで^^
少しの生命体から増えていく物ばかりを考えていましたが、
多くの生命体から減っていくパターンもあるみたいですね。
ランダムに初期化する機能があったら楽しいのかもしれないなぁ。
invoke GlobalAlloc, GPTR, eax:
むう。どうしてもALLアセンブラですね^^;
WinAPIも全て行けるみたいですね。
例のヘッダファイル等を使っているのかな?
チェレンコフ光:
>全てがなつかしい。
青い怪しい光と関係がおありでしたか^^
ところでこれって目で見えるほど強い光なんでしょうか?
体には無害みたいですけど・・・というかただの光ですよね??
Round3:
現在Round3のエントリーは、自分でビット反転アクセスを
行っています。これをサーキット側で行わせるように変更
しようと思っています。みなさんのご意見をお聞かせくだ
さい。
この様に変更しようと考える理由は、演算ルーチンの評価
の方法が面倒だからです。FFTの場合、バタフライあたり
Nサイクルという評価がわかりやすい評価方法ですが、現在
はビット反転時間まで含んでいるので何を評価しているの
かわからなくなります。
ビット反転ルーチンはそれ自身興味深いのですが、別にした
ほうがいいな、と感じます。
もう一つは、ビット反転をしない場合、In-Place演算を
前提としてDITとDIFのいずれも許すことを考えています。
これで、渡されたデータをその場で演算すればいいこと
になります。
ご意見をお聞かせください。
SOA,AOS:
大汗かいてます(爆)。SOA、AOSはRequiredFeature
定数として宣言する、データの並びの指定方法です。
これが間違っているとグラフの結果は正しく表示され
ません(^^;。はい。誰かさんがSIMDではまってました
ねぇ(笑)
RF_SOA : Structure of Array
データが、
struct{
float re[SIZE],im[SIZE];
} complex;
と宣言する場合
RF_AOS : Array of Structure
データが
struct {
float re,im;
}complex[SIZE];
と宣言する場合
です。
#Pascal屋なんで、Structの構文を間違っているかも
どうにか3DNow!でのインラインアセンブラコンパイル環境
がととのいました。
早速、暖めていたソースコンパイル実行!
Entry micro-Sec cycle
C,AOS,Original 5.91E+002 4.14E+005
C,ちょっとだけ3DNow! 5.40E+002 3.78E+005
んー1割高速化ですか...まだまだですね。
# それよりグラフがきちんとでるようにせいという話もある。(笑)
ところでAOS、SOAは何の略なんでしょう?
知らずに使ってます(爆)
LIFE:
言ってみるものですね。久々に楽しみました。
さて、私からお勧めのパターン
□□■
■□■
□■■
■の部分を赤くして実行してみましょう。これは
グライダーと呼ばれるパターンです。ちなみに、
LIFEゲームの発案者、コンウェイが、懸賞金付き
で「無限時間が経過した後もセルの数が増えつづ
けるようなパターンはありうるか」という問題を
出したことがありますが、これは時間切れぎりぎり
にMITのハッカー達に解かれています。彼らは
一定時間ごとにグライダーパターンを打ち出す
パターンを作り出して、無限に増えつづけるパターン
の実例を示しました。
#いや、懐かしい(^^)
えーと、先日やっと動いたSIMD版のFFTですが、
その改良版が動かないという状態がまた続いて
いました(笑)。原因判明。RF_SOAを忘れて
ました(爆)
プは自分でパニックになっていたために
荷電粒子砲ネタを逃したのが残念です。
真面目に考えると・・・きっと凄く難しいんでしょうね
#割り込みは忘れることにしました(^^;
malloc:
時間もたってしまったし、既に解決済みな気もしますが
書かせてもらいます。突っ込みよろしくお願いします。
やはりCのランタイムライブラリよりAPIの方が確実だと思うので
push eax ;サイズ
push dword 0x0040 ;GPTR
call GlobalAlloc ;eaxにアドレスが入って戻ってくる
で0クリアされた領域が確保できると思うのですが、
なにしろちゃんとしたWin32の資料を持ってないのでなんとも・・・
あ、上のやつはNASM用です。MASMなら
invoke GlobalAlloc, GPTR, eax
が使えると思います・・・うう、復旧してないので・・・すみません。
それからWin32 APIはSTDCALLなので
add esp,8
がいらないことに要注意です。
Pentium4:
もう結果が出ているとは!ナイスコミュニティ(TwT)
「今日」の一句:
普通じゃないあの男に勝つためには、普通じゃいけねぇんだ(>w<)
とかなんとかゾロ君が言ってた気がします。
普通ならやらないアセンブラでも、超絶なレベルを目指すには必要なのねと通訳しておきました。
話題は遠のきましたが
チェレンコフ光か
全てがなつかしい。
#遠い昔関係があったらしい。。。。。
はるか忘却のかなた
アルファ線だっただろうかガンマ線だったろうか
宇宙はるか彼方から地球にやってくるやつを
つかまえるために鉛ガラスで減速させて
そうするとチェレンコフ光としてエネルギーが放出される
その光を。。。。あーーー頭が痛い。
moetakaさん:
うみゅー(意味不明^^;)、Athlonユーザーですかぁ。
実行結果を見てるとAthlon欲しくなっちゃいます。
特に今回はAthlonが速そうだからなぁ。後ろ髪引かれる〜(^^;
コード名が「C,mada-mada」...ということはC言語版かな?
アセンブラでグラフが違うと結構苦労しそうな気が(^^;
#<今日の一句>FFTは一発ではなかなか動かない。
3DNow!:
>いろいろあるんですね〜。
は〜い、いろいろありますよ〜(^^;
補足しておくと、swapdが速いのではなくて、
swapdを使うとコードが書きやすい(使わないと書けない?)
ということですね〜。
あと、K6を切り捨ててコードを書けるのが良いです(^^;
遅延割り込み:
>たいして重要じゃないのでさらっと忘れてください(笑)。
私もパニクってみてます(^^;
「すぐに割り込める状態」になるまで空回りでOKですか?
#ちがったりして(^^;
ダメ指数:
>というか、なぜにうるりさん@ダメ人間ですか(TwT)
なんとなくダメっぽいです(^^;
もっとやる事あるだろうにね>自分(ぉ
>UFOに連れ去られてもいい気分です。
ダメなときは明るくやりましょう。
飛び込むならホワイトホール、連れ去るなら宇宙人です(^^;
#ほんとにダメかも>自分(ぉ
勢いでPentium4:
午後のこーだのベンチマークにちょこっと結果が
出てきたのですが、意外に速いです。
#同クロックPenIII*0.8〜0.9ぐらいかな????
Athlon対抗に成れるかもしれません(いや、なって欲しい^^;)
PentiumIII-1.13GHz:
リコールされてます。1GHzは量産されてます。
んー、選別しても130MHz上で動かない・・・何かがおかしい?
Itaniumのレイテンシ:
整数演算は1、整数SIMDは2、整数処理系は4本
浮動小数は5、浮動小数SIMD(2並列)は5、小数処理系は2本
小数は乗加算が基本なので、2並列*2操作*2本=8命令/clock相当
乗加算でレイテンシが5か・・・短くないかな?
#書きすぎましたごめんなさい>ALL(^^;
とりあえず...
AuthenticAMD
AMD Athlon(tm) Processor
Signature : 0642
FPU MMX 3DNow! CMOV Enhanced_MMX/AMD
時間は、FFT/ビット反転アクセス1回にかかる時間です。
N=1024
====================
File : vcppsdk.dll
Creator Signature : Moetaka,2000,Aug,28
--------------------
Running C,mada-mada...
4.29E+002 uSec, 3.01E+005 cycles
最初は、こんなもんです。
あれ?グラフがみんなのと違う!!!
やはり、まだまだのようで(^^;
3DNow!:
うるりさん、説明どうもありがとうございました。
いろいろあるんですね〜。
あはは。ぱにくってますね。
遅延割り込み:
たいして重要じゃないのでさらっと忘れてください(笑)。
ハードウェア割り込みでは割り込み要因がCPUに認識されてから
本当に割り込みがかかるまでの時間は不定です。たとえば、
より高い優先順位の割り込み処理が終了してから受け付けられます。
ソフトウェア割り込みの遅延実装は、これとまったく同じです。
つまり、当該ソフトウエア割り込みがマスクされていれば、
しばらく待ってマスクが外れてから割り込みをかけるという
ものです。
・・・「遅延分岐みたいなものなのですね」であってた。。。。。
なんか自分で勝手に凄まじい勘違いの嵐だ・・・
え〜と、とにかく、「プが思ってたようなものではないのですね」ということを言いたかったのです。
皆様の貴重なスペースとお時間をすみませんでしたm(_ _)m
#MASMについて書くつもりだったのがとんだことに(^^;
#落ちついてから出なおしてきます
さらによく見てみれば
>#プって謙虚(*w*)
とか書いてるし(TwT)
これじゃ凄くイヤな奴だ・・・
・・・もしかして今までにもこんなことをやっちゃってるのでは・・・?
また僕が同じようなことをやったら、そのときは
お叱りのおメールをお願いします。
#はぁ、でも今回は早く気が付いて、まだ良かったかも・・・ ←別に良くはない
#出来れば間に誰も書きこむ前に書きこみたかったけど。
というか、なぜにうるりさん@ダメ人間ですか(TwT)
まさか、ピッチャーが悪い時に、監督がキャッチャーを叱っているけれども、
しかし実はピッチャーに対して言っているというアレですか?
自らを犠牲にしてまでプのために(TwT)
そうだとするとプはそういうの気が付かない可能性大なので、
もしプに教えてやろうという方は単刀直入にお願いします(^^;
めずらしく昼間見てみれば、プは自分の愚かさにいてもたってもいられません。
UFOに連れ去られてもいい気分です。
>(>w<)やっぱり遅延スロットみたいなものなのですね(TwT)きっと
ちがうのよう(>w<)
本当は「〜〜〜みたいなものではないのですね(>w<)」
と書いたつもりだったのです。
「では」と「い」が抜けるという自分でも信じられないミスのために
あろうことか正反対の意味になってしまってます。
自分の考えを訂正したつもりが、なんてことを(TwT)
大変申し訳ありませんでしたm(_ _)m
#プのこと嫌いになっちゃイヤ〜(TwT)
ダメプログラム第3弾のライフゲーム。
http://ww1.tiki.ne.jp/~hino/LifeGame1000.zip
#それでどうしたという突っ込みはナシね(^^;
>( --)ふっ
速っ(>w<)キュー
やはり本物の「天使と妖精の専門家」には勝てないのか!!!
#ドラピーもかわいいなぁ
>遅延割り込み
(>w<)やっぱり遅延スロットみたいなものなのですね(TwT)きっと
お騒がせしてすみませんでした(TwT)
>うるりさん「たち」
ムフ〜ン。プ大喜び。
・・・と、自分でも始めはそう思ってたのですが(なにしろユニ細胞ナマモノですから)
冷静に普通に考えたら、うるりさんたちのレベルといえば
酒居さんたちのことを指していると考えるのが自然です。
#プって謙虚(*w*) ←上がり下がり激しい
>IA-64
高いよう(TwT)
Power4も高いのかなぁ(TwT)
青い光:
どうもチェレンコフ光みたいですね。
物質中の光速を超える部分のエネルギーが光になるのかな?
たぶん反応で出てきたβ線,中性子線と減速材の水の反応では??
>うるり@完全燃焼済み
核融合なので環境には優しいはず^^;
x86-64:
>>FPUも遂にスタック形式からの脱却を計るようですから、
AMDの詳しい言い訳は知りませんが(^^;)
前のoverview.pdfに含まれていない=スタック脱却はしない、
ということだと私は理解しています。
IA-64との比較は・・・どうなんでしょうね。
分野によっては比較の対象にすらならない気もするのですが・・・
x86路線では無理だとIntelが感じたのは確かなのでは。
asm->asmのスケジューラ:
アセンブラに落とした段階で既に依存関係ガチガチです^^;
中間コードからasmコードを生成すると・・・コンパイラを
作った方が早いような・・・よって挫折。
(証明終わり^^;)
3DNow!:
swapdの代わりはunpckldqとunpcklhdqの2命令,1作業
レジスタが比較的リーズナブルみたいです。
が、swapdを付けてくれ(もう遅い^^;)
なお、MMXEにはシャッフル命令があってそれで代用できます。
よって3DNow!では辛い。
(証明終わり^^;)
プログラム:
>最近では考えてそれなりの見通しがたたないとかけません。
私もそうです^^
FFTは準備が大部分、コード書くのはちょこっとでした。
アルゴリズムはC言語で確認ですし、アセンブラ化は
おまけみたいな作業ですね^^;
Itanium:
>とても、ほしいのですが、量産は来年の春頃のようです。
私も欲しいです^^
でも、宝くじ頼みかな(笑)
>青い光:
>チェレンコフ光を発するのは荷電粒子ですから、アルファ線か
>ベータ線ですね(^^)
もしかしてまちがってる・・・?σ(^^;
えっと、JCOの事故の時に職員の人が見た青い光の話なのです。
放射線画像の先生が、その光はチェレンコフ光じゃなくて
眼球内で生じたものなんじゃないかと言っていたのです。
なるほど〜、チェレンコフ光ってそういうものだったんですね。
U238の核分裂だと出るのが中性子線なんでそういう説明に
なったんだと、いまやっとわかりました(^^;
物理は一度も習ったことがないのでわからないのです(/_;)
IA-64:
こちらのページに日本語のマニュアルもあります。
http://www.intel.co.jp/jp/developer/design/ia-64/index.htm
青い光:
>青い影が見えますよ〜☆<中性子線を浴びると眼球内で発光するのです(爆)
チェレンコフ光を発するのは荷電粒子ですから、アルファ線か
ベータ線ですね(^^)
仕事のし過ぎ(本当か?)で、頭が重かったです。
金曜日、仕事をサボって別のことをしていたらだいぶ
すっきりしました。たまには自暴自棄も必要です(爆笑)
せっかちな掲示板から勝手に引用〜。
>>FPUも遂にスタック形式からの脱却を計るようですから、
>>アセンブラ使いにとって最後の福音となるのかな?
>うるりさんたちを見てるとどっちでも一緒って感じですが(^^;
・・・そういう世界なんですか(^^;
全然想像がつきません(ToT)/
うるりさん「たち」ということなのでプティタイジュさんも
もう同一視されてますよ☆
>IA-64
あぁ、やっぱりまだまだなんですね(^^;
x86-64が追いつく隙はありそうなんで安心しました。
あー、そんなところにあったんだ
>3DNow!を使うとわかりますが、swapdは強力です。
>というか、なぜ3DNow!に無いのかが良くわかりません^^;
MMXでSWAP命令さがしても無いので、シフトしてMOVDで
突っ込もうとおもってました。確かにswapdは必需品です。
しかし、プログラムですが、頭の中では大体できているの
ですが、手がうごきません。ここらがおじさんの弱いところ
です。昔は書いて動かしてから考えていましたが、
最近では考えてそれなりの見通しがたたないとかけません。
で、考えている間に別のこと考えるもんだから、考えた
ものを忘れてしまいます。忘れたものを思い出そうとする
のにまた時間がかかったりして...
おまけにASM化しやすいようにべたべた展開したCで作成し
たソースは浮動小数点オーバーフローなんてでてしまうし...
MASMでは訳のわからないコマンドのエラーなんて
でちゃうし...
あー、先は長い...
>IA-64
とても、ほしいのですが、量産は来年の春頃のようです。
お値段は三菱からでてたシステム(詳細はわかりません)
で200〜300万くらいになるようです。
ちょっと個人ではまだまだです。
会社でかってもらうにしてもちょっとまだね(^^;
やっと自分のPCから書き込めます(^^)/☆
>うるり@完全燃焼済み
青い影が見えますよ〜☆<中性子線を浴びると眼球内で発光するのです(爆)
次は高速増殖炉で燃えてください(x_☆)\バキ
>asm->asmのスケジューラを作ろうかとも考えましたが・・・
ぜひお願いします('')(,,)('')(,,)ウンウン
そうすればだれでもうるりさん並になれますよ〜☆
THREADS PRIMERなんていう本を見つけてしまって、ほしくて
ほしくてたまらなかったので全部立ち読みしました(x_☆)\バキ
マルチスレッド化を自動でやってくれるコンパイラなんて
あるんですね(^^;
Windows用も出てほしいです〜。
>IA-64
なんか、本が出てました(^^;
INTELの人が書いた本なんですけど、今まで公開された情報を
集めたもののようでした。立ち読みだけ〜。
ところで、いつ出てくるんでしょう(?_?)ハテ?>IA-64
x86-64も市場に出てくるのは2002年のようですから、まだまだ
という感じがします(^^;
>午後はアセンブラ?
あ、気づきませんでした(^^;
0.05secですか。遅いですね( --)ふっ
わたしにアセンブラのタスクなんて渡しても、スケジューラの
段階で破棄されます。K6にnopを渡すようなものです(x_☆)\バキ
>読めないソース
頭の中で動かしちやうのがいいような感じはするんですけど、
むずかしいです(^^;
だって、わたしのMPUはレジスタが3個しかないのです。
メモリも少ないので変数がたくさんあるソースを読むには
外部記憶装置が必要な感じです(/_;)
>TSS
そうそう、それです。
双子なのは天使じゃなくて妖精です〜☆
UNIXもWindowsもOSレベルで実装されてますよ(x_☆)\バキ
>しかし、あのE3DNowでどうして高速化できるのかなー?
こちらには、間違い無く世界最速を誇る技術を持つ方々が出没されます。
10億人にひとりの才能の持ち主なので仕方がありません。
ちなみにプが尊敬する皆様とクレイ君との差がコレくらい(---)だとすると
皆様とプとの差はコレくらい(----------)
#平常モードで。フッ。
・・・昨日見た話が頭に残ってた
そうそう、「いきなりASMコーディング」です。
皆様は超上級者なので。(たとえ最近の頭のいいコンパイラでも皆様には遠く及びません。)
ちなみにプはモノグサなので。
>>午後はアセンブラ?
いや、あの、その、これは、世界最速超絶ステキ人間集団による例のソフトと掛かっているわけです・・・
あと、(爆 と 爆速 も掛かってます・・・
というわけで、試験の際にはCとアセンブラのどちらがより簡単かを
0.05秒で冷静に判断し選択されることを希望します。
>てぃんくるすたーすぷらいつ
ドラゴン娘と双子の天使なアレですかッ?
>読めないソース
そもそも既存のプログラム言語というもの自体が
読むのに向いてない気がします。
コメント入れようが、書き方を統一しようが、ドキュメントがあろうが(これはマシかも)、
たいして理解するのが楽になるとは思えません。
やはりドタマに直接データ(コード含む)をブチ込むのがいいです。
そうだ!名前とか余計なこと考えなくても
考えたことが一瞬でプログラムになる世の中になるかもしれないし!
#量子なんたらとかそんな感じですか? ←違う
んでもって、当然、他人(1年前の私)が書いたコードを理解するのも一瞬で!
>Pentium4
かねてより懸案のキャッシュについてアレコレが・・・
よく読んでから怒涛のごとく書き込みたいです。
>遅延分岐
・・・こればっかりは本当に知らないことなのでアレなのですが、
プが思うには、遅延割り込み?ってやつは遅延スロットとは
別物だと思うのですが・・・違うかにゃ〜 ←弱気
外部信号を同期させるのに時間がかかるってことですよね?
で、どうやらRTOSでは割り込みの処理でスタックを使わずにレジスタでやるみたいなので
優先レベルの高いやつが来たときに困ったことが・・・
って感じだと思ってたりしますが、違ってますか(^^;
#今回のだけはさすがに自信がない
#Pentium4の全体像
http://www.watch.impress.co.jp/pc/docs/article/20000825/kaigai02.htm
#SuSE-Linux IA-64
ftp://ftp.suse.com/pub/suse/ia64/
ゆくさん:
>長文はスレッド形式の掲示板に書いたほうがいいでしょうか?
あちらは500文字制限があるので長いのは書けません^^
>人に切られるのはいや?(^^;
>うるりさんは人を切るのはだいじょうぶなんですか(/_;)
UFOに連れ去られてからどうも手術系の話は嫌いです(ウソですよ^^;)
私が人を切ると・・・犯罪です^^;
>読めないソース
アルゴリズムは簡単でもアセンブラで書いてスケジューリングを
ちょこっとかけるだけで読めなくなります。
asm->asmのスケジューラを作ろうかとも考えましたが・・・
moetakaさん:
3DNow!はMMXに単精度浮動小数演算を追加するためのものです。
データの移動等はMMX命令を使います。
実数部と虚数部を交互に置いたほうがメモリアクセスは速いと思います。
3DNow!は単純な命令しか持たないのでアセンブラ部分には
単純な演算だけを持ってくるのが書きやすいと思います。
#単純・・・加減乗除と平方根ぐらいしか命令が無いです。
単純で計算量の多い物をアセンブラのサブルーチンに、
他の部分はC言語等で書くのがやりやすいと思います。
酔漢さんのSDKやRound1/2のソースも参考になると思います。
>しかし、あのE3DNowでどうして高速化できるのかなー?
3DNow!を使うとわかりますが、swapdは強力です。
というか、なぜ3DNow!に無いのかが良くわかりません^^;
酔漢さん:
TigerSHARCじゃないんですね。残念です^^;
遅延分岐、遅延割り込み、遅延すると制御が難しいですね。
「OSコールにサブルーチン呼び出しを使える」というよりは
直に呼ぶと遅延割り込みが面倒くさいということかな?
あ、遅延分岐も同じようなものか^^
#TMS32C6xでも遅延割り込みだったかな?
>うるりさん、3万台。速すぎ…
うーん。別にチューンはしてませんけどねぇ^^;
SSEコードを3DNow!に落としただけです(4並列->2並列)
SSEコードも単に基数4を並列度4になるまで展開した
だけだし^^;
コンパイラに負け過ぎない程度の、必要最低限の最適化ですけどね〜
あ、そういえば腕はもう抜糸しました(^^;
痛くなかったです。
明日でサランラップを腕に巻いてシャワーを
浴びる生活ともさようならです〜。
ちなみに切られた組織は細胞(組織?)診に出て
いたそうです。良性でした(^^;
癌とか肉腫だったらびっくりでした(/_;)
これで自分の部屋に帰ればぷろぐらむできますよ〜。
MTの速度一覧表を作る予定です〜☆
でも、2種の試験のソースの->を見るだけでいやになるので、
プログラムには向いてないような気がします(/_;)
数学も知らないのでここでやってるようなfloatの世界への
道はさらに遠いです(ToT)/
>べーすれじすた
えっと、足すのはわかるんですけどはじめに
なんのあたいがはいってるのかと、どのタイミングで
値が書き換わるのか例題で把握できないんです(^^;
なんか、mov命令以外のタイミングで変わってるような気が・・・。
土曜日に帰りますので、問題を自分のPCで書き込みます〜。
長文はスレッド形式の掲示板に書いたほうがいいでしょうか?
>#砂のキャッスルに住んでるプも話題に参加したかったので(^^;
ありがとうございます〜☆
わたしが合格できた暁には一番お世話になった人を師と
仰いでこれからもお世話になることにします(^^)/☆(爆)
過去問はあとでやってみます〜。
>ごっそり
人に切られるのはいや?(^^;
うるりさんは人を切るのはだいじょうぶなんですか(/_;)
わたしの知り合いには頚椎脱臼法で勢いあまって尻尾を
引き抜いちゃった人ぐらいしかいません(爆
こういう話題がだめな人がいらっしゃったらすみません(/_;)<もう十分遅い
わたしは流血が多い方なので血は平気です(^^;
>午後はアセンブラ?
そういう風に思わないでもないんですけど、わたしはみーはー
なので、ふるくさい16bitのこめっとさんの勉強なんて
したくないのです(x_x)\バキ
>さらに険しい道
なんか、ニュートン法とか言われました(^^;
びぶん〜o(><;)(;><)oジタバタ
こんなに2種が険しい道だったなんて(ToT)/
>読めないソース
わたしはうるりさんのソースはいちばん簡単なのしか
見てません〜(^^;
ここのサーキットのエントリーDLLのソースは公開されてるん
でしたっけ?
>でぃあな様が最高優先度
あぁ、なべを焦がしたりお風呂が沸騰したりするんですね(^^;
ほかのタスクにCPU時間をわけてあげないタスクは
いけません〜。
やっぱりTSS(てぃんくるすたーすぷらいつ)じゃないとだめです(x_x)\バキ
はい、MMX命令を使います(^^;
たとえば
movqとかmovd命令ですね。
sin/cosは、サーキットを使ってもらえば、パラメータとして
渡します。malloc。うーむ。固定領域で行きましょう。
うーん、わかんないよー
3DNow/E3DNowの命令仕様ダウンロードしたけれど
肝心のメモリとレジスタ間のデータのやり取りがわからない。
もしかするとMMX命令つかうの?ってこれってFAQ?
# Intelからも落とさないといけないの?ふーっ。
それから、実数部と虚数部を交互に置いたほうが
いいみたいなんだけど、それでいいのかなー?
メモリアクセスにはそのほうが早いみたいなんだけ
Athlonのキャッシュ制御だともしかして関係ないかも?
でも3DNowつかうなら、そのほうがやりやすいみたいだし...sin/cosもどうしたらいいんだろう?
ASMからmallocをコールするには?
あーわかんないー
しかし、あのE3DNowでどうして高速化できるのかなー?
んー不思議だ。
ところで、普通は最初にC等でコーディングして、それの
コンパイルASMリスト出力を見て最適化されているのでしようか?
それともいきなりASMコーディングでしょうか?
って、よく見たらすぐ前に
>うるりさん、3万台。速すぎ…
のセリフが。
そうです!超絶美形爆速はうるりさんです!
ギャグとはいえ、自分のことを「光速の黒き虎」とか書いてしまって
プ、はずかしいぃぃぃ(>w<)
↑かっこよさげな別名を考えるキャンペーン
>>ごっそり
なんと!大変なことに(TwT)
むー、なんと言ったらいいのか、とにかく祈ってます。
ベースレジスタ:
例えば配列アクセスを考えると
array[i] は *(array+i)のことなので
レジスタGR0に配列の先頭アドレスarrayを入れておいて
レジスタGR1をiとして使うとすると
LD GR2,GR1,GR0 #GR2に GR0+GR1 のアドレスのデータを入れる
って感じですか?
先頭アドレスをベースにしてiを0から100までループさせるって感じ?
#なんだかよく分からない説明ですみません。
#砂のキャッスルに住んでるプも話題に参加したかったので(^^;
過去問発見:
http://www.rs.kagu.sut.ac.jp/~infoserv/j-siken/
>もちろん午後はCで行くつもりですが、
やっぱり「午後」はアセンブラで...(爆 速
#またベタなギャグでごめんなさい
コンテキストスイッチ:
む〜ん(?w?)プは「遅延割り込み」というものを知らないのですが、
割り込みの優先レベルのことだという認識であってますか?
プのシステムでは、ディアナ様からの電話が優先度最高レベルで
そのときにはシステムタイマやリセットすら待たせるので完璧です(>w<)
コンテキストスイッチ:
Moetakaさんがおっしゃるそのものずばりの方法です。
ただ、昔と違って遅延割り込みが実装されているので、
OSコール時に「絶対に遅延割り込みにならないことを
保証しなければならない」という制約がつくのです。
この点で、一週間ほど毎晩知恵熱が出そうなほど考え
込みました。(もう若くないや)
TigerSHARCじゃないよ(笑)。半仕事でやってるプロ
ジェクトです。TigerSHARCはスタックがないのでさら
に輪をかけて面倒なようです(^^;
うるりさん、3万台。速すぎ…
コンテキストスイッチ:
何となくわかりました^^
遅延して割り込むのは、困り者ですね。
適当に空回りさせておくのでしょうか?
#もしかしてこの話はTigerSHARCについて
#だったりするのでしょうか??
血:
うぅっ。やっぱりごっそりだ^^;
他人に切り刻まれるのはあんまり好きじゃないなぁ。
#あー、鳥肌が立つ^^;
情報処理技術者試験:
何だか再編されるみたいですけど、既に持ってる人は
どうなるんでしょうね。取りなおし?^^;
再編後は20種類ぐらいでしたっけ。大変そう^^;
ソース:
>人の書いたソースは読めません
人の読めないソースを書くのは得意です(爆)
コンテキストスイッチ:
はるか昔、どこかできいたことがあるが、思い出せず
にいました。
リアルタイムOSやVAX/VMSを勉強したときに聞いた言葉
で、リアルタイムOS(こんな風なかっこいい名前じゃなか
ったよなー)の場合は、確かにアプリケーションからOS
コールする場合は、レジスタにデータを設定し、ソフト
ウェア割り込みをかけていました。ほんでもってOS側で
タスクコントロールブロックあたりにスタックの内容を
退避していたような記憶があります。
いまではそれではだめなんですね(1個かませてコール後NOPでも入れるか)。なーるほど。
こめっとさん:
久しぶりに情報処理の問題引っ張りだしました。
LD GR1, 0, GR2
この場合、GR2がベースレジスタになります。上記表記
だとGR2+0番地のデータをGR1に設定(ロード)しなさい。
ということになります。
>あと、人の書いたソースは読めません(爆)
これは、かなり厳しい...(笑いごとじゃない?)
>ごっそり
当社比、ということです(^^;
良性腫瘍ということだったのですが、まわりをけっこう
とられたのです(/_;)
痛くはなかったです。最近の局麻はよく効きますね〜。
歯を抜くときとは麻酔の量が違うからでしょうか。
見てる前で腕が切り刻まれて血がたくさんでました(/_;)
どのぐらいかというと、手術が終わったときに台に腕が
べったりくっつくぐらいです(ToT)
術中の止血なしという潔い手術でした(爆)
>記憶力はいらない?
ヒープソートやバブルソートのソースの穴埋めは
知ってないと出来ないかなぁ、と思ったのです(^^;
アルゴリズムの説明は問題文にないようですから。
あと、人の書いたソースは読めません(爆)
>こめっとさん
一般問題の方に書いてあったのです(/_;)
もちろん午後はCで行くつもりですが、だめっぽいです(ToT)/
mallocってなに?という状態ですので(^^;;;
printfが出てきたらまちがいなく撃沈します。
なんか、SQL文を書かせるような問題とかもあるのです。
知らない間に範囲が増えてるような(^^;
どれも簡単なのはわかるんですけど、範囲が広くて・・・。
こめっとさんのアセンブラは10/15までに解決できないと
いけないのでそのうち質問します〜。
知ってそうな人がいるので聞いた方が早そうです('')(,,)('')(,,)ウンウン
#過去問は1回分しかないにゃあ・・・。
コンテキストスイッチ:
タスク(スレッド/プロセス)切り替えは、スタック上で
行うのが普通です。OS呼び出し時に実行番地を含めたすべ
てのアプリケーション状態(レジスタ)をスタックに保存
します(コンテキストセーブ)。
で、呼ばれたOSが一仕事のあと、そっとスタック上の
コンテキストを他のアプリケーションタスクのものと
置き換えてしまうのです(コンテキスト切り替え)。
これでOSからの戻り時に戻り先タスクが変わります。
さて、ITRONのようなアプリとOSを1バイナリにリンク
するOSでは「OSコールにサブルーチン呼び出しを使え
る」と書いています。これは事実なのですが、APIが
サブルーチンコールなだけで、その下層のOSインター
フェースはソフトウェア割り込みです。なぜなら、
サブルーチンでは特権モードに移行できないからです。
特権モードへの移行時にもスタックにコンテキストを
保存しますので、OS側でやることはいっしょです。問
題はアプリ側のIFです。レジスタにパラメータを設定
して、ソフトウェア割り込みをかけるのですが、かけ
た割り込みは本当にここで発生するか、という疑問は
常に付きまといます(汗)。最近の高度なCPUは遅延
割り込みのような機能を実装していますので、選択を
間違うと、本来割り込みがおきてほしい場所ではなく、
別の場所で起きてしまいます。もちろん、レジスタ上
のパラメータは壊れてます。
この一月ほど、ずーっと、こんなことを考えていまし
た。ようやく呼ぶ側と呼ばれる側のインターフェースが
できつつあります。
Yukさん:
はじめまして。情報処理2種ですが、今回最後のチャンス
です。(来年から名前がかわるらしい。)
がんばってください。
後半のは記憶力より、文章解読能力が必要です。
ちょっと言い回しが仕事と違う感じがするので、とまどいますが
過去の問題に目を通しておけばなれると思います。
アルゴリズムを記憶するなーんてことはないと思います。
sueさんがCyrixIIIで計測してくれたので
いろいろ面白いことがわかった気がします。
sueさん、ありがとう(^^)
>Round3のサーキットアップデートしました。
やはりバグでしたか^^;
お忙しいときに申し訳無いです。
#私のDLLは元に戻しました。
>コンテキストスイッチの真髄は、実はOSインターフェースの設計にありました。
うーん、OSインターフェースってどのあたりのことを言うのでしょうか?
あまり聞いた事が無い言葉のような気が
>In-Orderの方が精神衛生上楽な気がするプは
シンプルなのは良いのですが...あまり意味の無い
シンプルさはどうかな、とか思ったり^^;
>えっと、まだ実家です。ふと病院に行ったら局麻を
>かけられて腕のお肉をごっそりとられました(/_;)
えーっ。ごっそりですか^^;
なんか大変な事になってるような...痛そう。
>情報処理の2種
過去問をやると良い事あるかも。
ベースレジスタは、アドレスを指定するときに
基準となる場所を示すレジスタのこと...でいいのかな?
#用語説明は自信無し^^;
選択でアセンブラを取らないという手もあったかな?
しばらくぶりに読んだら進んでる〜(^^;
でも、話に入っていけるようなレベルではないので
流します(爆)
えっと、まだ実家です。ふと病院に行ったら局麻を
かけられて腕のお肉をごっそりとられました(/_;)
手は普通に使えるんですけど、毎日病院通いです〜。
プログラムはしてません。MC68EC030 25MHzでMTを
動かしてみたかったんですけど、コンパイラだけで
ライブラリが全然ありませんでした(^^;
ソースは持ってきたのにBC++5.5を持ってき忘れたので
Windowsでもできません〜。
あと、情報処理の2種でも取るかね〜なんて思って
勉強中です。
STLの本を読んでいて、連結リストなんて自分で作らなくて
すむ〜o(^^ )( ^^)oワーイワーイ
なんて思っていたら2種の試験に出るんですね(/_;)
ソートアルゴリズムなんかもそらでプログラミング
できないといけないようなので苦しんでます(^^;<記憶力なし
そんなの覚えなくてもすむと思ってたのに〜o(><;)(;><)oジタバタ
あと、こめっとさんのアセンブラがわかりません(/_;)<アセンブラ知らない人
ベースレジスタってなに〜(ToT)/
うるり師匠に教えてもらわなくちゃ...........( ..)トボトボ
TigerSHARC:
どんなことを書きこんだらいいかにゃ?と考えているうちに
時間ばかりが過ぎてしまいました。
結局難しくてよく分かりません(>w<)
で、プのためにバレさせてしまったのに
そのまま何事もなかったかのようにすまそうかと考えたりもしていたわけですが、(^^;
もはや世界に向けて大公開時代な感じなので、プひと安心(ーwー)
>#(しかし、俺にあんな製品の技術支援までやらせるなよ)
酔漢さんにしか出来ないからとかそういう・・・
いやそれより、酔漢さんに頼める人がいるとは・・・ツワモノだ(TwT)
CyrixIII:
sueさん、はじめまして。プです。こっち見てぇ〜(>w<)
#見境がなくなってきた(^^;
貴重なデータをありがとうございます。
なんかコメントしたいのですが、プには無理なので・・・
>(というか基数4でIn-Order向けは私には無理^^;)
In-Orderの方が精神衛生上楽な気がするプは
まだまだ極めていない未熟モノです・・・
>#あとPentiumIIIはCoppermineの結果がほしいなぁ。
Coppermineでもダメでしょう。(注 いつもどうり、プは発言に根拠なし)
>#不当にAthlonが速く見えてしまう^^;
Athlonは間違い無く速いんです(>w<)
・・・はっ!?もしかしてプ、最近マシンのせいに
しかかっているのでは!?ごめんよ、マイぱそ。
#ちょっとかわいい仕草をしてみました