07/03/25 21:19:33
アセンブラ全般に関するスレッドです。
【前スレ】
アセンブラ… (゜□゜) ↑アッー!↓
スレリンク(tech板)
2:デフォルトの名無しさん
07/03/25 21:20:10
【過去ログ】
アセンブラ… (゜□゜) ↑アッー!↓ (Part10)
スレリンク(tech板)
アセンブラ… (0w0)ウェーイ (Part9)
スレリンク(tech板)
アセンブラ… (´・∀・`)ヘー (Part8)
スレリンク(tech板)
アセンブラ… (°Д°)ハァ? (Part7)
スレリンク(tech板)
アセンブラ… (;´Д`) ハァハァ (Part6)
スレリンク(tech板)
アセンブラ… (*´д`*)アハァ… (Part5)
スレリンク(tech板)
アセンブラ… (゚д゚)ウマー (Part4)
スレリンク(tech板)
アセンブラヽ(`Д´)ノモルァ (Part3)
URLリンク(pc2.2ch.net)
アセンブラヽ(`Д´)ノモルァ (Part2)
URLリンク(pc3.2ch.net)
アセンブラ… (・∀・)イイ! (Part1)
URLリンク(pc.2ch.net)
3:デフォルトの名無しさん
07/03/25 21:23:26
>>1
( ゚д゚)ウッウー
4:デフォルトの名無しさん
07/03/26 12:07:04
>>1
( ゚д゚)モルスァ
5:デフォルトの名無しさん
07/03/26 16:11:54
>>1
( ゚д゚)乙ッウー
6:デフォルトの名無しさん
07/03/26 16:37:26
>>1
( ゚д゚)ウェーゐ
7:デフォルトの名無しさん
07/03/27 23:34:34
nop
8:デフォルトの名無しさん
07/03/29 12:07:50
mulをimulで置き換えたいんだけど、
どんなときできるのか誰か教えて
ってか、この二つはいったい何が違うだけろ~?
9:デフォルトの名無しさん
07/03/29 12:08:56
>>8
そもそも石はなんだ?
10:デフォルトの名無しさん
07/03/29 12:39:57
>>9
おっと失礼
x86系です^^
11:デフォルトの名無しさん
07/03/29 14:06:11
mulは無符号整数乗算
imulは負数も扱える
mulはimulと同じように扱えるわけではなくて、imulの方がアドレッシングモードが柔軟
ほかにもフラグレジスタの変化も微妙に違うので注意
てか、これをみるのが確実
URLリンク(download.intel.com)
12:8
07/03/29 15:23:28
おお! わざわざ資料まで!
ありがとうございました。
13:デフォルトの名無しさん
07/04/02 01:08:06
そんなことよりdivをmulに置き換えるアレ考えた奴凄くね?
14:デフォルトの名無しさん
07/04/02 01:14:23
( ゚д゚)ウッウー
15:デフォルトの名無しさん
07/04/02 01:17:04
>>9見て石ってなんだ?って思ったが、トランジスタの事か。
16:デフォルトの名無しさん
07/04/02 01:26:17
>>13
俺も昔それを思いついたことがある。たしかグレイスケールの計算だった。
G = (int)(r*0.30 + g*0.59 + b*0.11);
これだと浮動小数点計算が入ってもっさりしているので
G = (r*30 + g*59 + b*11) / 100;
このように整数演算に最適化。これでも自分的には除算が許せなかったので
G = (r*77 + g*151 + b*28) / 256;
と変形して除算を右シフトに置き換えてやった。
数年後、VCでこれとほぼ同様の最適化が自動的に施されるのを知って感心した。
17:デフォルトの名無しさん
07/04/02 01:34:39
アドレス生成インターロックとかペアリングとか考えなければ20clockやそこらで計算できるな。
うまくやれば。
G = (r*77 + g*151 + b*28) / 256;
18:デフォルトの名無しさん
07/04/02 02:18:27
今はMMXとか使ってさらに効率よく計算できるんだよな。MMXとFPUを同時に
駆動できないと困るときはSSE2でも同じようなことできるし。
#付け焼き刃スマン
19:デフォルトの名無しさん
07/04/02 03:25:36
MMXとFPUを同時に駆動すると重くてしょうがないから困るのであって、
同時に駆動せざるを得ないようなロジックは根本的に変えた方がいいと思う。
20:デフォルトの名無しさん
07/04/02 08:17:44
俺、アセンブラって実は簡単なんじゃないかと思うようになってきた
ステップ数は多いが頭の中でイメージングさえできれば難しいことないじゃないか
21:デフォルトの名無しさん
07/04/02 08:25:12
わざわざあげて独り言ですかw
アセンブラそのものは簡単というかシンプルでしょそりゃ。
自転車が自動車の運転より簡単なように。
でも自転車で100km走破するのは車でするより簡単じゃないよ。
22:デフォルトの名無しさん
07/04/02 10:33:28
簡単だけど、(心身両面の)持久力と全体を見通せる視野が必要な辺り、自転車とアセンブラは似ているかもしれない。
23:2
07/04/02 14:05:17
過去ログに訂正あり・・・スマソ
【過去ログ】
アセンブラ… ヽ(゚∀゚)ノフォーウ! (Part10)
スレリンク(tech板)
アセンブラ… (0w0)ウェーイ (Part9)
スレリンク(tech板)
アセンブラ… (´・∀・`)ヘー (Part8)
スレリンク(tech板)
アセンブラ… (°Д°)ハァ? (Part7)
スレリンク(tech板)
アセンブラ… (;´Д`) ハァハァ (Part6)
スレリンク(tech板)
アセンブラ… (*´д`*)アハァ… (Part5)
スレリンク(tech板)
アセンブラ… (゚д゚)ウマー (Part4)
スレリンク(tech板)
アセンブラヽ(`Д´)ノモルァ (Part3)
URLリンク(pc2.2ch.net)
アセンブラヽ(`Д´)ノモルァ (Part2)
URLリンク(pc3.2ch.net)
アセンブラ… (・∀・)イイ! (Part1)
URLリンク(pc.2ch.net)
24:デフォルトの名無しさん
07/04/02 18:00:59
>>16
まじで?
そこの式に出てくるような8ビット精度でやられるんだったらむしろ迷惑この上ないんだけど。
25:デフォルトの名無しさん
07/04/02 19:46:17
それはイメージ図みたいな物で、実際のコードではない。肝心なところを手元で再現したもの。
ニュアンスだけならこれで十分かと思ったのだが、誤解があったようで、すまんかった。
VCの最適化はたしかedx:eaxの幅64ビットを目一杯使うはずなんで、信頼してやってくれ。
26:デフォルトの名無しさん
07/04/02 19:48:31
あと一つ断っておくが、さすがのVCと云えども浮動小数点計算の整数化まではしないぞ。
俺が感心したのは整数除算の右シフト化の部分だ。レスの趣旨から読み取ってもらえるとは思うが。
27:デフォルトの名無しさん
07/04/04 11:49:33
しかし最近のアセンブリンガーは何やってるかわからなくなってきた。
最適化と称して俺のコードを台無しにする
28:デフォルトの名無しさん
07/04/04 13:00:16
アセンブラが難しいとされたのってさ、アドレッシングが貧弱で、
レジスタも少なく、使いづらいセグメントがあったりする石を使って、
限られたメモリ資源内でやらなきゃならなかったりしたからじゃないかな。
29:デフォルトの名無しさん
07/04/04 13:41:40
>>28
まあ確かに32個あると楽だけどな
30:デフォルトの名無しさん
07/04/04 13:53:45
つまり、アセンブルはパズルなんだよ。
コップ一杯の水を、容量の異なるコップを移し変えて400mlと600mlに分けるには
みたいな発想力がある程度もとめられる。
それができない人間が嫌うだけで
神という文字を入れたいのに記憶容量が足りない
おおっとネと申に分けられるじゃないか、これで後から合わせれば神になるぞ、
ということに気づく人間と、気づかない人間
ここに、アセンブラできる奴とできない奴が別れるのだ
31:デフォルトの名無しさん
07/04/04 14:05:41
アセンブラには、以前の日本が持っていた、
頭を働かせて出来る限り小さくまとめ、出来る限り高速に、出来る限り遠くへ、出来る限り豊かに
という、だいわ魂が宿っている、気がしてならない。
つまり、アセンブラを極めることは、かつての日本人が持っていた、
知恵というものを、取り戻すことであるといえるのではないか。
32:デフォルトの名無しさん
07/04/04 14:12:21
31の意見も同意できないことはないが
俺はアセンブラは小さいものが好きな日本人をあらわしてる
と思う
アメリカ人は大きいものが好きだからオブジェクト指向なんだろうと思う
33:デフォルトの名無しさん
07/04/04 15:18:23
折角の>31の高説も、「だいわ魂」で台無しだな。
34:デフォルトの名無しさん
07/04/04 18:23:11
gdbを使うと、なぜか実行開始時に必ず SIGTRAP で止まるんだけど、解決方法分かる人いる?
35:デフォルトの名無しさん
07/04/04 22:39:02
友人に、メモリにほとんどアクセスせずにハチャメチャな方法でやってる香具師が居るんだが。
使用レジスタ
eax,ebx,ecx,edx,edi,esi,ebp,es,fs,gs,mmx
36:デフォルトの名無しさん
07/04/04 22:43:57
> メモリにほとんどアクセスせずに
可能であれば、わざわざ糞遅いメモリなんぞにアクセスする必要はないだろ。
37:デフォルトの名無しさん
07/04/04 23:20:28
限度があるぞw
それにキャッシュを意識して慎重に組めばそんなに気にならないもんだど
38:デフォルトの名無しさん
07/04/04 23:21:49
書いた本人以外にメンテナンス困難なソースとか
見ると吐き気がしてくる。
39:デフォルトの名無しさん
07/04/04 23:39:15
>使用レジスタ
>eax,ebx,ecx,edx,edi,esi,ebp,es,fs,gs,mmx
それなんてicc?
40:デフォルトの名無しさん
07/04/04 23:50:11
なんつったってねicc
41:デフォルトの名無しさん
07/04/05 02:05:08
今、MMXを使って半透明合成を行う関数を書いています。
元画像1と元画像2を半透明合成して描画先に転送するという単純な仕様なのですが、
メモリアクセスがネックとなり、目標とする速度に達しませんでした。
そこで色々と実験してみたところ、うちのK6-2で、
元画像1 + 元画像2 → 描画先
と処理するより、
元画像2 → 描画先
元画像1 + 描画先 → 描画先
としたほうが速くなることが分かりました。
単純に考えると、後者のほうがメモリアクセスも命令数も多く、遅くなるはずなので、
キャッシュが実行速度に大きく影響しているのだと思われます。
とは言うものの、私はアセンブリにはあまり詳しくなく、
どうすればキャッシュを効率よく利用できるのか分かりません。
特に、持っていないが動作環境に載っている底辺CPUでは実験もできず、
どんな方法でうまくキャッシュされるのか見当もつきません。
そこで質問なのですが、下記のソース
URLリンク(sakuratan.ddo.jp)
のAB_START1におけるメモリアクセスを改善して、高速化することは可能でしょうか。
うまくキャッシュに乗れば、当然前者のほうが速いと思うのですが……。
42:デフォルトの名無しさん
07/04/06 00:09:50
まだソース見てないが、一度の計算ブロックで扱うメモリの量は64KBに抑えると
キャッシュに乗りやすかった気がする。
43:デフォルトの名無しさん
07/04/06 09:48:03
>>41
元画像1、元画像2、描画先の各先頭アドレスの下位14bitが
同じということはないよね?(800x600だからまずないだろうけど)
もし同じだと、K6-2 L1データキャッシュの2way set associativeの
制限に引っかかるかもしれないので。
それからK6-2といえば、Write AllocateのON/OFFを設定で変えられると思うけど、
ON/OFFどっちの設定での結果? 設定を変えると速度に変化はある?
それとここは間違いだよね
mov ebx, [src1] ;
mov ebx, [src2] ;
44:デフォルトの名無しさん
07/04/06 10:30:46
>>42
64kbですか……。
画像一枚あたり1.4MBもあるので、 収めるには分割すべきなんでしょうかね……。
>>43
下位14bitはまず一致しないはずです。
Write AllocateはONになっていたので、OFFに変えてみたところ、
素直なブレンド : 85ms→35ms
二段階のブレンド : 65ms→55ms
と、大幅に高速化しました。
これはキャッシュミスが頻発しているということなのでしょうか……?
あと、すみません、ご指摘のとおりsrc1のところはeaxのミスです。
45:デフォルトの名無しさん
07/04/06 10:37:40
Write Allocate は、ランダムライトでワリを喰う。
46:42
07/04/06 14:06:45
他のプログラムで使ってる分とか、スタックとか機械語の命令とか全部含めて64kbな。
だからデータ読み込み系で32kb占有できればいい方かと。
書き込みはほぼ間違いなくヒットするから気にしなくてよかったはず。
デュアルコアCPUだと1次キャッシュが二つ乗ってる上に2次キャッシュがあるからもう少しキャッシュヒットすると思うけど。
47:デフォルトの名無しさん
07/04/06 14:22:11
>>46
ちゃんと理詰めで算出しろよ
キャッシュ機構によってサイズが違うぞ
48:43
07/04/06 14:45:50
>>44
WA OFFによりメモリ読み込みが減って10msくらい速くなるというのはまだわかるけど、
素直なブレンドの方で50msも速くなるのは何でだろう?
何で素直なブレンドはWA ONで50msも遅くなるのか…。
WA ONの場合、元画像2(src2)または描画先(dest)のアドレスを8バイト~数百バイトぐらい
ずらしてみても速度に変化はないですよね?
49:42
07/04/06 16:26:48
>>47
算出が面倒になった。
>>48
ワカラネ。50msの溝についてだれか分かる人解説キボン
50:デフォルトの名無しさん
07/04/06 17:59:31
素直なブレンドで描写先に転送するとき。
WA OFFだと単にデータをメモリへ転送するだけで済むところを、
WA ONの場合は、まずメモリからキャッシュにロードを行い
そのキャッシュに書き込んでからメモリに転送する。
つまり、無駄なロードが大量に生じて、キャッシュも無駄に使うから遅い。
これは最近のCPUでも同様に遅い。movntqを使うと何倍も速くなったりする。
参考:
スレリンク(tech板:138番)
WA ONの二段階のブレンドで、65msと若干速いのは
無駄なロードを先に済ませちまうからかな?
51:デフォルトの名無しさん
07/04/07 00:33:56
VISTAの64ビットでは__asmが使えないのは、本当なの?
52:デフォルトの名無しさん
07/04/07 01:18:18
Vistaは関係ないが、64bitでインライン使えないのは本当。
53:デフォルトの名無しさん
07/04/07 02:19:34
>>52
64ビット環境のAPIフックするには1万ドル払ってDetours Professional 2.1っていうのを購入する必要があるみたいだね。
Microsoftって将来的には個人開発者を低レベルプログラミングから追い出すつもりなのかな?
54:デフォルトの名無しさん
07/04/07 02:24:57
mov cr0,0
mov cr1,0
mov cr2,0
mov cr3,0
55:デフォルトの名無しさん
07/04/07 06:16:44
>>54
(゚Д゚)
56:デフォルトの名無しさん
07/04/07 07:46:55
ml64で我慢しとけ。
57:デフォルトの名無しさん
07/04/07 13:46:11
>>54
最もやってみたいことだが、決してやってはいけないことだな。
cr系に即値って入れれたっけ?
58:デフォルトの名無しさん
07/04/07 14:19:20
おまらに聞きたいんだが今からアセンブラを勉強するとしたら
どんな本が一番いいと思う?
59:デフォルトの名無しさん
07/04/07 14:28:09
いまどきのアセンブラの教科書
60:デフォルトの名無しさん
07/04/07 16:21:52
どんな本がとか言われてもな。
メーカが供給してるその石の仕様書があれば他には何にも要らないと思うが。
61:デフォルトの名無しさん
07/04/07 16:53:06
>>58
アセンブラは、たとえばC言語のANSI Cみたいな業界標準がないから
「これ1冊でアセンブラを網羅」なんて教科書はない。
メジャーなアセンブラ(MASMなど)なら例外的に参考書が発行されている
こともあるが、原則的には>>60の言うCPUの仕様書とアセンブラのマニュアル見るしかない。
62:デフォルトの名無しさん
07/04/07 18:19:04
>>59
どっちだよww
63:デフォルトの名無しさん
07/04/07 18:26:35
>>59
URLリンク(d.hatena.ne.jp)
64:41
07/04/08 00:06:43
みなさん、どうもありがとうございます。
やはり書き込み時のキャッシュ問題ですか……。
K6-2や初代CeleronにはmovntqなどのSSE命令は実装されていないので、
その辺りでは今の二段階処理が現実的なのかもしれませんね……。
CPU別の切り替えも視野に入れて検討してみます。
65:43
07/04/08 08:59:02
>>64
家にPentiumII266MHzがあるので計測してみました。
count=800*600*3/8
src1,src2,destは各800*600*3バイト
mov ebx, [src1] ; はeaxに修正しています。
PentiumII266MHz EDO-DRAM
素直なブレンド : 36msくらい
二段階のブレンド : 56~57msくらい
P6はWrite AllocateをOFFにできないので、
Write Allocateが機能している状態での計測です。
66:43
07/04/08 09:24:41
>>64
movntqが利用できないのであれば
destをNOCACHE領域にしてしまうとか。
VirtualAlloc(,MEM_COMMIT,PAGE_READWRITE|PAGE_NOCACHE)
で領域確保して、書き込み処理が終わったら
VirtualProtect(,PAGE_READWRITE,)
でCACHE可に属性変更する等。
67:41
07/04/09 21:58:55
VirtualAllocでキャッシュの有無まで指定できるなんて、今まで知りませんでした。
K6-2で試してみたところ、WA ONでも、VirtualProtectを入れて40ms弱で素直なブレンドが実行できました。
これなら十分に使えそうです。
キャッシュをオフにしたことでPen4等では遅くなりましたが、
これは初回起動時にでも計測して保存しておけば切り分けられそうです。
どうもありがとうございます。
それにしても、Pen2ってそんなに速いんですね……。
Intel系のCPUは心配せずとも良いのかもしれません。
68:デフォルトの名無しさん
07/04/14 18:50:56
64bitOSではアセンブラ使えないのですか?
それともインラインが使えないだけ?
インラインどうしても使いたい場合の代替ってありますか。
69:デフォルトの名無しさん
07/04/14 18:54:00
島根県のみなさん、パチンコをするなら、
優良パチンコ店 エイトワン
に行こう! 遠隔(※1)を絶対やってないのは「エイトワン」だけ!
違法ロム(※2)を絶対使ってないのも「エイトワン」だけ!
エイトワンでは、遠隔等が可能な設備は入れていません。 ロムも、警察がチェックしやすいようにしています。
詳しい方はご存知の通り、どんなにパチンコの遊戯人口が変動しても、その市場規模は変わりません(※3)。
要するに、客が減っても、残った客から絞り盗る量を増やして調整しているのです。
しかし、何故それが可能なのか?…ご理解頂けると思いますが、9割以上の店が確実に遠隔等を行ってます。
1万店以上の中でも、遠隔も違法ロムも確実にやってないのは「エイトワン」1店だけです!
※1…遠隔とは
「お、あの客は新顔だな。勝たせて味を占めさせるか。遠隔操作で設定変更しよ」
「客が減ってきたな。ま、設定を絞めて(1人あたりから)搾る量を増やせばいいか」
「あのオヤジ負け続けてるからそろそろ辞めるかもな。今日は勝たせてやるか」
※2…違法ロムとは
「うちのアタリ確率は、もちろん他と同じ『○○○分の1』ですよ!(ロムいじってるからウソだけど)」
※3 市場規模 遊戯人口
平成06年 30兆4,780億円 2,930万人
平成08年 30兆0,630億円 2,760万人
平成10年 28兆0,570億円 1,980万人
平成12年 28兆6,970億円 2,020万人
平成14年 29兆2,250億円 2,170万人
平成16年 29兆4,860億円 1,790万人
70:デフォルトの名無しさん
07/04/14 18:54:40
モジュールとして、リンクするくらいしかない場合
それって速度の面でどうなの。
71:デフォルトの名無しさん
07/04/14 19:06:07
>>68
よほど特殊なCPUで無い限り使える。
インライン?というのはCのことか何を言いたいのか不明。
>>70
中身というかその処理内容次第。
72:デフォルトの名無しさん
07/04/14 19:32:53
>68
インライン?
このスレは、インラインアセンブラの「中のコード」については話せると思うが
「インラインアセンブラを使うには」という内容ならその処理系のスレで訊きな
73:デフォルトの名無しさん
07/04/14 19:44:26
インラインアセンブラ使うとコンバイラがバグるよ
74:デフォルトの名無しさん
07/04/14 20:13:34
CPUとかOSとかコンバイラ(笑)の具体的情報もないのに
>64bitOSではアセンブラ使えないのですか?それともインラインが使えないだけ?
>インラインアセンブラ使うとコンバイラがバグるよ
って会話が成立する摩訶不思議なスレはここですか^^
75:デフォルトの名無しさん
07/04/14 20:42:08
アセンブリ言語で書く必要があるならインライン・アセンブラなんて中途半端なことせずにアセンブラ使え。
インライン・アセンブラを使わないと性能が出ないような処理系なら窓から投げ捨てろ。
76:デフォルトの名無しさん
07/04/14 20:53:36
エー(´д`)
77:デフォルトの名無しさん
07/04/14 21:07:14
押す!
78:デフォルトの名無しさん
07/04/14 21:39:11
>>75
それ、激しくマンドクセ
79:デフォルトの名無しさん
07/04/14 22:13:22
だがソース中にインラインアセンブラが散在していると
環境が変わったとき、もっとマンドクサイことに…
80:デフォルトの名無しさん
07/04/14 22:20:32
その辺は設計次第でどうにかなる
大体速度要求されるような部分って限られてるし
81:デフォルトの名無しさん
07/04/14 23:30:39
少し前に、64bitだとCであれJAVAであれ、「インラインアセンブラは絶対通らない」と言われていた。
82:デフォルトの名無しさん
07/04/14 23:53:16
どこの世界の話ですか?
Windows 方面かな?
83:デフォルトの名無しさん
07/04/15 02:22:23
ヌコモフモフシタイオ
84:デフォルトの名無しさん
07/04/15 02:42:32
M$が64bit版VC++でインラインアセンブラを止めたことに尾ヒレがついてそういう話になったんだろうが・・・
しかしまあ、64bitなCPUでもインラインアセンブラ使わにゃならんと言うのも、それはそれで哀しいものがあるな。
85:デフォルトの名無しさん
07/04/15 02:50:57
64bitインラインアセンブラについて
URLリンク(www.codeproject.com)
代わりの構文が用意されているみたい
86:デフォルトの名無しさん
07/04/15 10:48:47
シェーダもそうだ
Direct3D version10 では、アセンブリシェーダが一切許容されなくなった。
HLSLやGLSLよりも簡単かつ速いのに。
固定機能の廃止でシェーダで代用しろとか、
64bit用VCでアセンブラ使えないとか、マイクロソフトはどうなっているんだ。
そういうことをするから、「絶対必要なのに誰も知らないアセンブラ」になっていくんだ。
ウィルススキャンは、言ってみればリバースエンジニアリングだが、
リバースエンジニアリングにはアセンブラの知識が必要だ。
それでなくてもハード屋と密接に絡むソフト屋はアセンブラの知識が必要だ。
それなのにこれ以上マイナー言語にしてどうしたいと言うのか
87:デフォルトの名無しさん
07/04/15 11:58:49
>>86
>>56
88:デフォルトの名無しさん
07/04/15 12:37:52
64bitだとAPIフックもできないの?
89:デフォルトの名無しさん
07/04/15 22:46:32
>>88
できない ×
やらせない ○
90:デフォルトの名無しさん
07/04/16 10:28:26
>>85
紛らわしい事を言うな
代わりの構文でインラインアセンブラが利用可能なのかと思ったじゃないか
91:デフォルトの名無しさん
07/04/16 12:02:23
>代わりの構文でインラインアセンブラが利用可能なのかと思ったじゃないか
可能でしょ。
92:デフォルトの名無しさん
07/04/16 20:54:55
>>90の思考、__asm と 組み込み関数は違う
>>91の思考、__asm と 組み込み関数は同じ
93:デフォルトの名無しさん
07/04/16 22:00:57
> >>91の思考、__asm と 組み込み関数は同じ
このスレ的にはありえない思考回路だな...。
94:デフォルトの名無しさん
07/04/21 01:00:05
すみませんが、.NETのアプリをnasmとかで作れます??
95:デフォルトの名無しさん
07/04/21 01:08:21
無理にきまってんだろ
96:デフォルトの名無しさん
07/04/21 01:10:52
>>94
つ ilasm
97:デフォルトの名無しさん
07/04/21 01:42:04
>>94
dbで直接書けばOK
98:デフォルトの名無しさん
07/04/21 01:49:51
>>94
>nasmとか
といわれても。
アセンブリ言語で書けるか、ということならできる。
99:デフォルトの名無しさん
07/04/21 01:58:57
>>97
バイナリエディタのほうが絶対いいw
100:デフォルトの名無しさん
07/04/21 02:34:42
相対アドレスを計算して入力するのが面倒だったのでmasm+exe2binでz80のプログラムを作ったことがあるな
101:デフォルトの名無しさん
07/04/22 12:55:12
質問でございます
いまいちよくつかめないんですが、メモリを確保する場合(文字列でも何でもいいです)、通常ヒープに確保され、
ローカル変数だけスタック、という認識であっていますか?
ちょっとスレ違いかもしれないんですが、このスレのエロい方々が一番詳しそうなので。
102:デフォルトの名無しさん
07/04/22 12:58:06
ものによる。
103:デフォルトの名無しさん
07/04/22 13:01:10
おーっそこをなんとかお手数ですがkwskお願いします><
104:デフォルトの名無しさん
07/04/22 13:01:22
ものによるけど、普通の PC で普通の言語使ってるならそうな事が多いんでない?
105:デフォルトの名無しさん
07/04/22 13:22:10
>>101
*まず言語と質問の意図を教えれ*
このスレどおりアセンブラなら、何をどこにとろうが自由だ。
Cのグローバル変数に相当するものならヒープにとるだろうし
一時的な文字列領域ならスタックにとることもある。
まさに>>102の言うとおりだ。
106:デフォルトの名無しさん
07/04/22 14:08:29
アッー!!そうか、アセンブラだとpushすればスタックだし、heapallocをcallすればヒープか・・・
処理系はC++なんですが、コンパイラに依存ってことですね。
107:デフォルトの名無しさん
07/04/22 14:14:22
アセンブラから見れば、ヒープもスタックも、グローバル変数も、みんなメモリ
メモリの確保は静的にする場合と動的にする場合とがあるけど
動的に確保する場合の概念としてスタックだのヒープだの発明したわけだ。
その2つしかないわけじゃなく、オーディオのフィルタ処理なんかはリング遅延器とか色々あるわけ
108:デフォルトの名無しさん
07/04/22 15:05:10
なるほどねー。ちょっと微妙に納得いかないのは、
スタックはなぜEXEイメージのヘッダに最大サイズが定義されて、それ以上は制限されるのに
ヒープはメモリあるだけ確保できる。
これはデータ構造の用途を分けるためですか?
109:デフォルトの名無しさん
07/04/22 15:16:00
それはwindowsの話をしてるんだよね?
多くの環境で、データ・ヒープは上(小さい方)から、スタックは下(大きい方から)取られる。
これなら、どっちかが制限されるのはおかしいという事だろ?
で、x86は仮想記憶をサポートしてるから、SSの領域も
上にどんどん確保してゆく事も理屈の上では可能。
でも、 windowsはスレッドを実装してるから、スタック領域が複数必要になる。
だから、スタックは最大サイズを決めておかないと、困った事になるわけだ
110:・∀・)っ-○◎●
07/04/22 15:16:38
ヒープにも限界はあるよ。
スタックは連続したメモリを必要とする。
不連続なデータでいいなら、確保できる容量は多くなる罠。
最近のOSは仮想メモリ機構があるから、実メモリ容量以上、
スワップファイル分だけ確保できたりするんだが。。。
111:デフォルトの名無しさん
07/04/22 15:39:47
>>108
Windowsの話な。
アレは仮想メモリを使ってるから、プロセス毎(大雑把にいえばEXE毎)に
2GBのメモリ領域を割り当てられるわけだ。32bit Windowsのユーザー領域ね。
実際にメモリを2GB積んでるかどうかは関係ないぞ。
とにかく、EXE毎に2GBのメモリを積んでると思いねえ。
で、スタックというのは(再帰呼び出しでもしない限り)何MBも食うことはあまりない。
一方、ヒープは画像や映像などメモリバカ食いすることがあるので、2GBのうち
相当部分をヒープで管理しなくてはならない。
原始的なOSはスタックを制御してないので、
スタックを超えてもぐんぐんヒープ領域を侵していく。
その結果、理由の分からないバグに遭遇してしまう。
Windowsは、スタックを使い切ったらエラーを出す仕組みになってるので
EXEにその領域を書き込んでる。
で、なぜヒープじゃなくてスタックの方を制御するのかというと、
スタックは一回の取得-開放が直前のスタックと連続してるので管理しやすい。
ヒープは、気まぐれに領域をとり、気まぐれに開放されるので穴ぼこだらけになる。
と、スタックの方が管理しやすいからだと思いますよ。
112:デフォルトの名無しさん
07/04/22 17:09:09
>>109-111
うおーありがとう><
そうです、Windowsしか知らないので><
スタックはOS管理⇒プロセスを超えるスタックオーバーフロー検出のため
ヒープは制限がない(仮想メモリサイズ:x86なら2GB)⇒メモリに対し断片的にアロケートするため
(逆にスタックはその性質上連続したメモリ領域が必要なので、最初に固定サイズの連続領域を
確保するため、そのアロケートサイズをEXEヘッダに持っていなければいけないので制限される)
これが全ての理由ではないかもしれませんが、
上述の理由等でスタックとヒープのそれぞれの役割が決まっているわけですね。
そしてその決まりは処理系によって異なり、アセンブラの場合はむしろ人によって使い方が
異なる場合がある、という感じでしょうか。
かなり勉強になります!!
113:デフォルトの名無しさん
07/04/22 17:32:21
試したことないからわからんが、もしかしたら64bitのVCでもインラインマクロアセンブラ(非MASM)使えるんじゃね?
ちなみに↓はx86用。
// インラインマクロアセンブラ?
// WINAPI*は環境に合わせて書き換えてね
typedef void (WINAPI* FUNCTION)();
#define ASM_CALL(function) {FUNCTION f=(FUNCTION)(void*)function;f();}
// 必要なのあれば追加
#define RET 0xc3
#define MOV_EAX(a) (char)0xb8,(char)(a&0xff),(char)((a>>8)&0xff),(char)((a>>16)&0xff),(char)((a>>24)&0xff)
// eaxに16入れるだけ
unsigned char function[] = {
MOV_EAX(16),
RET
};
// 呼び出してみる
ASM_CALL(function);
まぁ、ネタだけどな・・・
だれかx64用の命令セット定義してちょ ヽ(;´ー`)ノ
114:デフォルトの名無しさん
07/04/22 17:34:11
まあC++Builderが出来るようになるだろ
ダメならDelphi for win64で書いて リンクするさ
115:デフォルトの名無しさん
07/04/22 17:49:52
>>112
制限しなければいけないもっとも重要な理由はスレッドのサポートにあると思うよ。
スレッド間でスタック領域も共用しなければいけないからね
116:デフォルトの名無しさん
07/04/22 17:57:39
>>113
( ゚д゚)ノ ドゾー
URLリンク(homepage1.nifty.com)
117:デフォルトの名無しさん
07/04/23 00:58:01
emit でただバイナリねじこんでるのと同じでは・・・
tc1の時代に逆戻り?
118:デフォルトの名無しさん
07/04/23 09:56:42
>>113>>116
データ実行で吹っ飛ばないのですか?
119:デフォルトの名無しさん
07/04/23 10:26:10
DSやSSにあるコード実行が禁止出来てるなら バッファオーバーランの脆弱性などだいぶ緩和できてたろう
120:デフォルトの名無しさん
07/04/23 10:54:44
最近のCPUだとEXビットとか聞いたもので、どうなんでしょか
121:デフォルトの名無しさん
07/04/23 11:12:32
linuxの場合、mprotectで実行属性を与えるようになってる。
Windowsの場合も、VirtualAllocやVirtualProtectで実行権限与えればOKよ。
122:デフォルトの名無しさん
07/04/23 11:12:34
windowsは16bitの昔からダブルポインタを解決するためにthunkとよばれる
動的に小さいコードを作る技術を使ってきたからな。
当時はDLLでDSを渡す為に使われた。
32bitになっても、DelphiのVCLなんかでは WinProcからObjectとメソッドアドレスの2つを
作りだすために使われている。
123:デフォルトの名無しさん
07/04/23 11:16:57
実行時にコード変更(生成)するのってマルチスレッドとかとの相性どうなんだろう
124:デフォルトの名無しさん
07/04/23 11:22:30
>>123
そのコード空間がスレッドごとに独立していれば大して問題にならない。
125:デフォルトの名無しさん
07/04/23 11:30:39
スレッドセーフなコードを動的に生成するのか
難度高くね?
126:デフォルトの名無しさん
07/04/23 11:33:17
Windowsの場合、実行空間からスレッドごとに独立した領域へって、
単純にプログラムカウンタでジャンプできるんだ…
>>116はちゃんと見てないけど、実行属性やスレッド独立の
問題はケアしてるのかね
127:デフォルトの名無しさん
07/04/23 11:35:22
ダブルポインタを解決するだけの短いコードって事は、単に
即値ロードしてジャンプするだけ
リソースにアクセスするわけじゃないからさ
128:デフォルトの名無しさん
07/04/23 11:36:04
>>125
それはまた別問題な気がする。グローバル変数使わないで、
コードを生成する領域をTLSにしちゃえば干渉しないだろうし。
そもそも排他問題とかからむコードを動的に生成するシチュエ
ーションってあまり多くないんじゃ
129:デフォルトの名無しさん
07/04/23 11:40:01
>>127
それって32ビット以上のWindowsでは関係ないんだよね?
マルチスレッドだと如何に簡単な処理でも(というか簡単な
処理だからこそ)、何も考えないでコード生成したらまずい
だろうし。
130:デフォルトの名無しさん
07/04/23 11:44:30
>>129 自分が想像で勝手に怖がるのはいいが、それを一般論に押し広げないでくれよ。
マルチスレッドで注意しなければいけないのはどういう操作くらいかは理解して書いてるのか?
131:デフォルトの名無しさん
07/04/23 11:52:07
>マルチスレッドで注意しなければいけないのはどういう操作
スレッド間で共有されている部分を排他処理しないで変更すること
132:デフォルトの名無しさん
07/04/23 11:54:25
あと、共有部分の読み込みに関しては場合による
133:デフォルトの名無しさん
07/04/23 11:56:01
>>131
そう、一つは正解。
もう一つは、複数のリソースを参照するコードが別のスレッドで変更されてる場合、
たとえば、ダブルワードカウンタの参照のような問題点。
ダブルポインタを得るだけのコードは、作成されなければ実行されず、
作成された後は変更されないのだから、注意する対象に入るかどうかも判るだろ。
134:デフォルトの名無しさん
07/04/23 12:00:59
>>129
あと、32bit以上になっても、結局32⇔64の変換でthunkは使われるように思うな
理由は、テーブル変換のような仕組みはそれこそマルチスレッド対応に苦労するだろうから
135:デフォルトの名無しさん
07/04/23 12:15:01
>>133
>作成された後は変更されない
作成された後は変更されないようなコードなのに、リンク時や
そうでなくともEXEロード時に解決してしまわないのはなぜでしょう?
136:デフォルトの名無しさん
07/04/23 12:18:02
Make何とかInstance ってのを一つも使った事が無いのか?
137:デフォルトの名無しさん
07/04/23 13:06:15
>>135
その時に解決出来ないからだろ
DLLの場合は、コールバック時のセグメントはDLL側じゃ判らない。
VCLの場合は、コンポーネントをヒープに確保した後でなければ メソッドポインタは確定しない
138:デフォルトの名無しさん
07/04/28 00:00:03
x86で論理和を行う時、被演算数の一方が0以外なら必ずゼロフラグは0にセットされて
被演算数の一方が0の時に論理積を行えば必ずゼロフラグは1にセットされる、という理解であってますか?
139:デフォルトの名無しさん
07/04/28 01:01:07
わざわざ変に難しく言うな!
そんな言い方するからわかんなくなったじゃないか!!
俺にわかるのは、0とANDすりゃZ=1、0以外とORすりゃZ=0って事くらいなんだからよ!!!
140:デフォルトの名無しさん
07/04/28 01:23:34
>>138
釣りをしたいなら別に止めないけど...。
一応マジレスしとくと 論理和、論理積にかかわらず
・「結果」が 0 なら ZF = 1, 0 以外なら ZF = 0
と理解しておかないと、Add/Sub なんかの時に困っちゃうぞ。(w
141:138
07/04/28 01:34:15
>>139,140
すいません、釣りじゃないです
習い立てでどう表現していいかよく分からなかったので…ありがとうございました
142:デフォルトの名無しさん
07/04/28 04:35:02
アセンブラを勉強しようと思うのですがお勧めの書籍などはありますか?
当方Cの基本、Javaで簡単なプログラムが書ける程度の知識を持っております。
何かありましたら紹介よろしくお願いします。
143:デフォルトの名無しさん
07/05/13 17:20:17
>>142
x86ならインテルのマニュアルでも読めばいいよ
144:デフォルトの名無しさん
07/05/13 17:50:57
>>143
いんてるのまにゅあるは既にアセンブリ言語の基礎を会得しているプロの(職業の)開発者向けだろ。
しかもプロセッサの仕様とかデータシートとかエラッタ情報とか、アセンブラの本質とは関係ないし。
俺は独学で習得したが、参考書とかはほとんど読まなかったな。ソース読んでるうちに感覚で覚えてしまった。
他の人はどうやって習得したんだろう?
145:デフォルトの名無しさん
07/05/13 17:53:42
CQ出版の古書が参考になる。
ただ、今現在でアセンブラ使えてもほとんどメリットなし。
146:デフォルトの名無しさん
07/05/13 18:29:33
リバースエンジニアリングや、最適化をするにはアセンブラを使えないと話にならない。
というか、コンピュータを理解するにはアセンブラでないと話にならない。
コンパイラに頼りっきりのアホが何作れるかというと、たいした物は作れない。
147:デフォルトの名無しさん
07/05/13 18:31:43
そういう分野って違法とか衰退してるじゃない。
仕様通り作ってればいいんだよ。
148:デフォルトの名無しさん
07/05/13 18:38:44
ウィルスであるかどうかの解析は、リバースエンジニアリングが出来ないと話にならない。
そして、アンチウィルス業界はいつも人手不足。
そして需要が途切れることはない。
149:デフォルトの名無しさん
07/05/13 18:40:48
1人か2人だろ。
150:デフォルトの名無しさん
07/05/13 18:43:49
まあ、アセンブラが使えるだけじゃ話にならんがな。
151:デフォルトの名無しさん
07/05/13 18:46:46
アンチウィルス業界←笑いどころ
152:デフォルトの名無しさん
07/05/13 18:48:19
論破されて泣き出したぞw
153:デフォルトの名無しさん
07/05/13 18:49:30
コンパイラに頼りっきりのアホと言われて傷ついたらしい
どうせロクなもん作れねえんだから黙ってりゃいいのに
154:デフォルトの名無しさん
07/05/13 18:54:34
まあCPUのアーキテクチャが大幅に変わることはないんだろうけどCPU依存の
コードってのは関心しないなー。
コンパイラで書くか、カーネルから全部自分で書くか。
155:デフォルトの名無しさん
07/05/13 19:00:19
無理だべ
Run Anywhereみてえなラクは
WindowsにしろLinuxにしろ、モロ依存しておる
156:デフォルトの名無しさん
07/05/13 19:07:27
素直にコンパイラで書け。
157:デフォルトの名無しさん
07/05/13 20:33:40
まあ、必要ない人にはいらないよな
その辺に技術者としての境界が存在してきて
棲み分けできていいけど
158:デフォルトの名無しさん
07/05/13 21:06:27
アセンブラか……
フェードイン、フェードアウト効果をMMX命令で実装するために
本に載ってたサンプルを意味も分からずにパクッた思い出くらいしかない
159:デフォルトの名無しさん
07/05/13 21:53:27
このスレも役目は終わってるよね
160:デフォルトの名無しさん
07/05/13 21:57:03
アプリ開発にはいらないだろうな
ミドル以下なら知ってると知らないで差がでるけど
161:デフォルトの名無しさん
07/05/13 22:13:46
>>160
差が出るどころか、話にならないんじゃね?
そういう分野に携わるなら低水準の基礎知識くらい身につけておけと
162:デフォルトの名無しさん
07/05/13 22:43:47
コンピュータのごく表層しか知らない奴は>>159みたいなことをさらっといってのけるから怖い
163:デフォルトの名無しさん
07/05/13 22:49:52
ワンチップとかだとアセンブラの知識は必須だね。
ついでに回路も読めないとやばいが。
164:デフォルトの名無しさん
07/05/14 00:36:50
だいたいさ
ゲームのシェーダは高級言語で書けるようになったが、
CPUは依然としてアセンブラしか受け付けない。
ゲームではまだまだ必須。
165:デフォルトの名無しさん
07/05/14 02:29:15
それはファーム以下の動作部分を書く場合だろ。
通常のアプリケーションにアセンブラなんて必要ない、非生産的。
166:デフォルトの名無しさん
07/05/14 02:41:41
なんでもかんでも汗んぶらで書くのは愚の骨頂だが
アーキについて知ってるかどうかは重要。
167:デフォルトの名無しさん
07/05/14 02:50:19
そりゃそうだな。んでもインテルはほとんど変わってないし。
肝心のタスク制御(ディスパッチャ)の部分はユーザーが書けないし。
昔の世代は自分で書けるチャンスがあったけど今の世代はほぼ絶望的。
忘れたほうがいい。
168:デフォルトの名無しさん
07/05/14 08:14:11
んなこたーない
169:デフォルトの名無しさん
07/05/14 21:35:56
世の中には16進数でプログラム書ける奴もいるんだな
この前リアルで見たんだが人間とは思えん
170:デフォルトの名無しさん
07/05/14 21:43:56
いるだろwwww常識的に考えて。
171:デフォルトの名無しさん
07/05/14 22:02:02
車なんかアセンブラでないといかんのだぜ
もはやキャブレターの時代じゃねえんだ
172:デフォルトの名無しさん
07/05/15 05:09:10
>169
そりゃ、アセンブリ言語が出来る前は皆そうしてたワケだからな。
つーか、アセンブリ言語自体、最初は
機械語を解りやすく記述する為の単なる表記法だったかと。
『アセンブリ言語を機械語に翻訳する作業も
コンピュータに任せればいいじゃないか!』
という発想に最初に行き着いたヤツは凄いと思う
173:デフォルトの名無しさん
07/05/15 05:22:10
アセンブリ言語が出来た当初はハンドアセンブルだからね。
凄い時代だ。
174:デフォルトの名無しさん
07/05/15 05:39:56
2chのレスもコンピュータに任せても充分やってけると思う
175:デフォルトの名無しさん
07/05/15 07:08:38
今思うとプログラムを書いてというより
直接動かしてたって方がしっくりくるな
176:デフォルトの名無しさん
07/05/15 08:28:24
直接はあんまりやりたくないなぁ。
コーディングシートにアセンブリ言語で書き込んでから機械語に手動翻訳ならできるけど。
177:デフォルトの名無しさん
07/05/15 08:31:37
ああ昔の人はいいなあ
そんな話聞いてるとめちゃくちゃ興奮するぜ
178:デフォルトの名無しさん
07/05/15 08:42:20
今でもやろうと思えばマシン語直書きのプログラムは作れるぜ!
179:デフォルトの名無しさん
07/05/15 10:57:55
EX-80だかのエミュレータアプリがあったよね。あれでぽちぽちやるのもいいんでない?
180:デフォルトの名無しさん
07/05/15 21:21:02
あの当時は、できることも少なかったので
何とか対応表を見て、手でマシン語にすることもできた。
命令機能なんざ四則演算しかなかったし
181:デフォルトの名無しさん
07/05/16 00:02:37
あの当時に四則演算 (ようは、乗除算) なんかできる奴なんてあったか?
まあ、ミニコンとかでμプログラム書けるマシンなら何でもありだが...。
182:デフォルトの名無しさん
07/05/16 00:20:36
AND OR XOR NOT
183:デフォルトの名無しさん
07/05/19 17:11:02
レイテンシとスループットの違いって何なのですか?
URLリンク(homepage1.nifty.com)には
> スループットとは命令が実行されてから次の命令が実行出来るまでのclk数
> レイテンシとは命令が実行されてからその結果を利用できるようになるまでのclk数のことです.
とあるのですが、分かったような分からないような感じでいまいち納得がいきません。
例えば mul eax, ecx 命令なら
実行ユニットで乗算そのものを実行するクロック数と
その結果がeaxに入るクロック数は幾分違うと言うことなのでしょうか?
基本的なことなのですが、どうかよろしくお願いします。
184:デフォルトの名無しさん
07/05/19 18:01:12
スループットとは、全体的な出力性能
レイテンシとは、そのデバイス内部の処理にかかる待ち時間
185:デフォルトの名無しさん
07/05/19 18:24:27
1つの入力に対して何時如何なるどんな時でも1クロックで終わるならいいが、
ある処理には2サイクル3サイクル、もしくはそれ以上かかることもあるだろう
その、モタモタしてる時間をレイテンシと呼ぶんじゃないの。
スループットは、それら含めて「処理が完了した後」の性能を示すものだろ。
乗算完了までにかかるクロックが1なら、レイテンシは無し。
1クロックより短い単位で処理は終われないので、基準が1だから
1クロックよりも多くかかるなら、そのかかった分がレイテンシ。
レイテンシ含めて処理が終わった後に見て、
この操作を終えるまでにどれくらいかかるかを指すのがスループット。
186:デフォルトの名無しさん
07/05/19 18:27:29
何言ってるのかわからねぇw
ガンダムでも飛び立ちそうだ
187:デフォルトの名無しさん
07/05/19 19:15:04
XXX eax, ebx
が4クロックかかるならレイテンシは3。
XXX の処理後、eax が使えるようになるまでの時間がスループット。
と言ってるように見える。
188:デフォルトの名無しさん
07/05/19 20:20:27
ふつー、レイテンシよりスループットの方が小さくない?
189:デフォルトの名無しさん
07/05/19 20:27:43
>>183
レイテンシー: latency
latent (潜伏期間) の名詞形の意味からわかるように、病気にかかってから
症状があらわれるまでの期間。
スループット: throughput
一定時間に処理される情報量
要するに、レイテンシーは命令を実行し始めてから結果が出るまでの時間。
スループットは一定時間内に処理される量。
一つのコアが逐次処理するならレイテンシーとスループットは相似関係に
あるけど、デュアルコアにするとレイテンシーが変わらなくてもスループッ
トは (理想的には) 2倍になる。
もしくは、「このプロセサはパイプラインが深いからレイテンシーは大きい
けどスループットは高い」とか言ったりする。
190:デフォルトの名無しさん
07/05/19 22:24:34
スループットは成果だからな
アウトプットと同じような意味。
慣れた人が3秒で作業を終わらして1コ作り上げたら レイテンシ3秒、スループット1。
不慣れな人が50秒で作業を終わらして1コ作り上げたらレイテンシ50秒、スループット1。
単一のシチュで見ると、スループットが変わらないようだが
これを連続で行うと差がどーんと出てくる。
スループットとは、成果と最初にも言ったように 成果を比較できる「条件」が不可欠。
1時間後なら、スループットにも差が出てくると言うこと。
191:デフォルトの名無しさん
07/05/19 23:16:49
パイプライン処理って知ってる?
工場で物作るときに、一つのラインを複数の人間で作業するアレ。
レイテンシって言うのは、パイプラインの先頭からパイプラインの終了まででかかる時間。
スループットは単位時間につき1。
(CPU の場合は単位時間は概ねクロック)
ただし、パイプラインは止まることがあるので必ずしもスループット1は達成できない。
複数のパイプラインを用意すれば、スループットは1を超える。
192:デフォルトの名無しさん
07/05/19 23:19:24
アセンブリに興味もった俺にはこのスレはめちゃ助かる
アドレナリンが湧いてくるな・・・
193:デフォルトの名無しさん
07/05/19 23:52:24
>>190
おいおい、人の説明無視していいかげんなこと書くなよ。
スループットは「単位時間あたりの成果」だよ。
あんたの例だと、慣れた人のスループットは 1/3 [個/秒] で、
不慣れな人のスループットは 1/50 [個/秒] だよ。
これは、連続でやっても同じ。
そこで作業を 50個の工程に分けて、各々の工程を 50人の不慣れな奴に任せると、
1つの工程には1秒ずつかかるから、やっぱり作業を終わるには 50秒かかる。
(つまり、レイテンシーは 50秒のまま)
でも、最初の人は1秒後には2個目の作業にかかれる。同じように 50人が1秒に
1つ作業ができるので、連続して作業していると1秒に1個物ができる。
つまり、レイテンシーは 50秒のままでスループットは 1 [個/秒] に改善する。
これが、T型フォードから伝わるパイプライン処理だ。(w
194:デフォルトの名無しさん
07/05/20 00:15:54
WindowsでGAS使いたいけど、どうすればいいのでしょう?
asm文書いてコンパイルしてもエラーになってしまいます。
195:デフォルトの名無しさん
07/05/20 00:23:55
gas構文キライ
196:デフォルトの名無しさん
07/05/20 00:46:18
お前の好き嫌いはどうでもいい
197:デフォルトの名無しさん
07/05/20 01:05:22
>どうすればいいのでしょう?
エラーが出ないように書き直しましょう。
198:デフォルトの名無しさん
07/05/20 06:41:21
MinGW 使え。
199:デフォルトの名無しさん
07/05/20 12:21:49
下のスレにて質問したのですが誘導されてきました
Cygwin + MinGW + GCC 相談室 Part 3
スレリンク(tech板)l50
アセンブラにて
.global hoge
.type hoge, @function
という書き方があるのですが、.type以降の意味はなんでしょうか?
200:デフォルトの名無しさん
07/05/20 18:02:45
おいおい、誰もパイプラインや並列処理を考慮しろとか書いてないんだよw
しかも大間違いだしw
レイテンシとスループットの概念さえわかればいい。
201:デフォルトの名無しさん
07/05/20 18:11:57
50秒ごとに1個出てくる工場と
3秒ごとに1個出てくる工場
これで、1時間で出荷量に差がつかないと思ってるド素人は失せろ。
邪魔。
202:デフォルトの名無しさん
07/05/21 23:57:31
T型フォードでワラタ。
そうするとさしずめエンジンつける工程と座席つける工程が標準工程では
エンジン→座席になっているが、座席取り付けを先にできる時間ができたので
現場で順序逆にして対応
がアウトオブオーダ実行で、
統計的に黒色フォードT型の方が赤色よりもはるかに多く作られるので
色指定の情報が届く前に黒ペンキで塗り始めておき、もし赤色指定が
おっつけ来たらそれは在庫に戻して赤ペンキ塗りだす
のが分岐予測、そして、
焼付け塗装やさび止め工程はパーツごとにやっていたのだけど、これを
改めて、塗装対象を一つのプレートにのせて一回の塗装処理で全部塗って
しまうことにした
のがSIMDということになるか。
203:デフォルトの名無しさん
07/05/22 18:56:03
もうこれでいいよ
URLリンク(nest.0xff.biz)
204:デフォルトの名無しさん
07/05/22 23:41:19
>>202
T型フォードは黒単色にすることでコストダウンしてたわけなので、
赤色指定なんかきたら割り込みルーチンレベルの対応になるだろうな。
205:デフォルトの名無しさん
07/05/24 21:27:12
レジスタの中の数値が
12345678となってるのを
78563412と変換したいんですがどうやればいいですか?
206:デフォルトの名無しさん
07/05/24 21:28:45
Intel 系なら bswap でいけるけど。
207:デフォルトの名無しさん
07/05/24 21:38:16
うわーなんて便利なモノがあったんですね。
聞いてよかった。ありがとうございます。
208:デフォルトの名無しさん
07/05/24 22:22:12
bswap は少しコスト高いけど、乗算とかに比べればマシやね。
ビット演算でやった方が速かったりするのかどうかは、俺には分かんね。
209:デフォルトの名無しさん
07/05/24 22:29:52
rgbaとbgraとで変換するのによく使う。
210:デフォルトの名無しさん
07/05/24 22:34:44
ビットシフトとかローテイトとかも
and とかに比べればコスト高いし、
多分 bswap が最速なんじゃないかね。
知らんけど。
211:デフォルトの名無しさん
07/05/25 00:56:40
便利な関数使うのは自分で同じ機能を実現できたときだけ
そうでないと最適化ができないしポーティングができなくなる
212:デフォルトの名無しさん
07/05/25 01:01:53
誤爆?
213:デフォルトの名無しさん
07/05/29 07:20:31
スレリンク(jisaku板)
上記スレで強制NaNの計算でインテル不利にするベンチが論争を呼んでますが
極端にAMD不利にする方法を探しています。
では。
214:デフォルトの名無しさん
07/06/14 06:38:32
あげ
215:デフォルトの名無しさん
07/06/17 03:25:40
俺、Javaプログラマだけど、Cよりもアセンブリのほうが楽しそう
変か?
216:デフォルトの名無しさん
07/06/17 03:30:02
>215
うんにゃ
217:デフォルトの名無しさん
07/06/17 03:47:43
実際、Cよりもアセンブラのほうが楽しいと感じる人は少なくないはず。
楽なのはどちらか、と問われたら大概Cだろうが。
218:デフォルトの名無しさん
07/06/17 03:48:42
漢字は同じなんだけどなw
実際そうだなあ。
219:デフォルトの名無しさん
07/06/17 05:06:18
吉宗番長秘宝伝の乱数生成方式ってわかりますか?
昔あった政宗みたいな擬似ゲーって作れますか?
220:デフォルトの名無しさん
07/06/18 02:14:03
>219
パチスロの「吉宗」「番長」「秘宝伝」か?
多分関係者しか知らないと思うが
どちらにしろ擬似乱数発生器の話題なら↓辺りに行ったほうが
擬似乱数
スレリンク(tech板)
乱数
スレリンク(sim板)
完全にランダムな数列を作る方法
スレリンク(math板)
221:デフォルトの名無しさん
07/06/18 12:00:08
吉宗はxorshiftって聞いた
222:・∀・)っ-○◎●
07/06/18 22:36:38
【遠隔】で弄れる乱数についての議論ですか?wwww
223:デフォルトの名無しさん
07/06/19 13:20:30
今日も元気にアセンブラ
224:ぴっころ
07/06/24 18:32:22
はじめまして。ぴっころです。
キャリフラグとオーバフローフラグの違いを教えて頂けないでしょうか?
225:デフォルトの名無しさん
07/06/24 18:36:07
>>224
キャリーは符号なし整数加算、オーバフローは符号あり整数加算で使用する。
226:ぴっころ
07/06/24 19:34:49
ありがとうございます。
もう少しお聞きしたいのですが、符号なし数値の二進法で表した時、
0100-1101を計算した時に、キャリフラグとオーバフローフラグは
どうなるでしょうか?
227:デフォルトの名無しさん
07/06/24 19:50:23
キタ━━(゚∀゚)━━ッ!!!!
228:デフォルトの名無しさん
07/06/24 19:59:33
>>226
答えが返ってくるまで待つより、自分で試したほうが早いだろ
229:ぴっころ
07/06/24 20:02:35
すみません。ようやく分かりました。
また来るかもしれませんが、その時はまたよろしくお願いします。
230:デフォルトの名無しさん
07/06/24 21:17:16
ゴハーン!
231:デフォルトの名無しさん
07/06/27 13:23:08
アセンブラ… (lli-.-)
232:デフォルトの名無しさん
07/06/27 19:26:48
アセンブラ… (><)ワカンナイデス!
233:デフォルトの名無しさん
07/06/27 21:16:54
アセンブラ… (≡ω≡.)
234:デフォルトの名無しさん
07/06/27 23:12:34
汗ブラ・・・(>o<)くさそうです
235:デフォルトの名無しさん
07/06/27 23:15:00
風の噂で聞いたんだが
こなたがアセンブラに興味しんしんだってさ
236:デフォルトの名無しさん
07/06/28 00:53:11
君に興味シンシン
だけど聞けずにモンモン
237:デフォルトの名無しさん
07/06/28 12:46:40
(おにゃのこの)汗ブラ
238:デフォルトの名無しさん
07/06/29 20:52:09
クソスレ終了
239:デフォルトの名無しさん
07/06/29 21:06:08
halt?
240:デフォルトの名無しさん
07/06/30 09:56:45
仕事使いで便利なツールをCではなくアセンブラで書いて広く配布
アセンブラで書いたとわかると所々で賞賛の声があったが
たかだかコード1万行くらいの大した事はない小ツールなので複雑。
241:デフォルトの名無しさん
07/06/30 10:04:23
>>240
>アセンブラで書いたとわかると所々で賞賛の声があったが
何で?
242:デフォルトの名無しさん
07/06/30 10:20:16
>>241
「うわー、スゲー。この人スゲー暇なんだなー」
243:デフォルトの名無しさん
07/06/30 12:48:15
あるあるw
244:デフォルトの名無しさん
07/07/02 09:58:28
なんでアセンブラだと暇なんだ
大して手間はかわらんだろ
245:デフォルトの名無しさん
07/07/02 20:24:04
ホントだよな。何で賞賛されるのかが不思議だ。
246:デフォルトの名無しさん
07/07/02 20:31:41
大して手間は変わらん様な処理なら高級言語で書いとけ。
247:デフォルトの名無しさん
07/07/02 20:37:36
ポーティングは面倒だな。最近だと x86 だけを考えてもそれほど困る事は無いけど。
結局 libc.so なりを呼び出すなら最初から C で書いたら良いと思うけど、>>240 は
そんなヌルい事はしてない筈だよ。
248:デフォルトの名無しさん
07/07/03 01:00:19
とりあえず何か SIMD 使ってんじゃない?
249:デフォルトの名無しさん
07/07/03 01:55:53
手間は変わらんがソフトウェアの出来は変わるだろう。高級言語で書くよりいい出来だったんだよ。
ここの連中ならそういったものができる。素人は手間がかかった上に出来も良くない。
むしろ高級言語で書くと手間がかかるって奴も多いだろ?それくらい馬鹿(尊敬を込めて)だろ。
250:デフォルトの名無しさん
07/07/03 02:53:44
元ネタに限って言うと、さすがにアセンブラで1万行は、大いして手間はかわらん、ってのはどうかと。
251:デフォルトの名無しさん
07/07/03 02:55:56
アセンブラだと行数かなり増えるから
そんなもんじゃね?
252:デフォルトの名無しさん
07/07/03 04:09:18
正直、尊敬を込める意味は無いと思う
253:デフォルトの名無しさん
07/07/03 06:33:46
アセンブラで一万行はなぁ。。。
その8割をCで書けば、保守性なんかが数倍よくなる気はする。
254:デフォルトの名無しさん
07/07/03 18:11:45
( ゚д゚)ウッウー
255:デフォルトの名無しさん
07/07/03 21:07:12
趣味なんだろ。
他人がどうのこうの言う話じゃないと思うが。
256:デフォルトの名無しさん
07/07/03 21:37:29
>>253は「保守性が数倍よくなると思う」という単なる感想を言ってるだけで、
他人にああしろこうしろと口を出してるわけじゃないと思うけど?
257:俺もなー
07/07/03 22:02:39
>>255は「他人がどうのこうの言う話じゃないと思うが。」という単なる感想を
言ってるだけなので、君にそんなことを言われる筋合いはないと思うけど?
258:デフォルトの名無しさん
07/07/03 22:16:41
>>256は、「>>253は『他人に口を出してるわけじゃないと思うけど』」という単なる感想を言ってる・・・
という無限ループだわなw
ただ、保守性が大幅に上がるのは事実だろ。
もちろん>>240にとやかく言うつもりはないけどさ、その事実だけは指摘しておく。
259:デフォルトの名無しさん
07/07/03 22:20:06
俺もとやかく言うのは止めるわ。まだ何も言ってないけど…
260:デフォルトの名無しさん
07/07/04 08:43:44
昔ハンドアセンブルしたコードをメンテしてはじめて保守性が下がるという意味がわかった
明らかに脳が劣化している
261:デフォルトの名無しさん
07/07/04 09:38:04
日本語でおk
262:デフォルトの名無しさん
07/07/04 21:11:29
脳が劣化していることはよく分かった
263:デフォルトの名無しさん
07/07/04 22:05:37
保守性ってどんな意味だか知ってる?
264:デフォルトの名無しさん
07/07/05 08:57:10
全般的な技術者の能力低下を見越す事
265:デフォルトの名無しさん
07/07/05 11:07:58
アセンブラでも保守性の良いソースはあるし
Cでも全く保守したくなくなるようなソースもいっぱいある
結局はソース書く香具師の質の問題
266:デフォルトの名無しさん
07/07/05 11:16:28
つ [一般論]
267:デフォルトの名無しさん
07/07/05 11:55:01
C#やJavaやRubyがこれだけ普及した理由はいったい何だよw
アセンブラがほとんど姿を消した理由はいったい何だよw
268:デフォルトの名無しさん
07/07/05 11:57:00
marketingの賜物
269:デフォルトの名無しさん
07/07/05 11:58:46
マーフィーの法則:
技術的に優れているものが普及するとは限らない
むしろその逆のことの方が多い
270:デフォルトの名無しさん
07/07/05 11:58:56
ソースの記述量が大幅に減るからだろw
アセンブラに比べると変更もはるかに簡単だしw
そもそも、さんざんマーケティングしたあのUMLがあんまり普及してないのはなんでだよw
271:デフォルトの名無しさん
07/07/05 11:59:57
じゃあ、ITの歴史は進歩ではなく、退化の歴史なわけですか^^
272:デフォルトの名無しさん
07/07/05 12:00:53
>>267
何ねぼけてるんだ?
C#で生産性はあがったか?
Javaで奴隷状態から解放されたか?
Rubyで保守が楽になったか?
273:デフォルトの名無しさん
07/07/05 12:04:05
>>272
どうせネタだろうけどJavaのとこだけ胴衣
274:デフォルトの名無しさん
07/07/05 12:04:06
どうでもいいけど、C#やRuby使ったことある?
アセンブラよりも生産性上がらないの? 保守楽にならないの?
どんだけだよwww
275:デフォルトの名無しさん
07/07/06 01:00:51
同じ行数でも実現できる機能が増えるから生産性はあがってるだろ。
ただし、競争の結果、もらえる費用は上がらないので、金銭的生産性はあがらない。
あと、書く行数自体は(機能が増えた分)同じなので保守は楽にならん。
276:デフォルトの名無しさん
07/07/06 01:13:10
C#やRuby → 重複雑なアプリ
アセンブラ → 簡単なアプリ
この前提で保守が楽にならないとか言われても。。。
作る物は一緒じゃないと、言語の比較にはならんでしょ。
277:デフォルトの名無しさん
07/07/06 01:13:51
重複雑 → 超複雑 だ
278:デフォルトの名無しさん
07/07/06 10:26:22
ちょうふくざつワラタ
279:デフォルトの名無しさん
07/07/06 13:37:17
C#やRuby →
重複
雑
どっちも当てはまりそう・・
280:デフォルトの名無しさん
07/07/06 22:21:58
ってか、C#で数人掛かりで作るような大規模アプリをアセンブラで作るのって、
保守性がどうとかそういうレベルじゃなくて普通は無理だろ。
手間暇がちょっと違うとか、そういうレベルじゃ無いんだよな。
281:デフォルトの名無しさん
07/07/06 23:12:12
でも一昔前の情報家電はアセンブラ製なのがちらほら。
#家庭用FAXとか。
282:デフォルトの名無しさん
07/07/06 23:35:51
そりゃ、家電はハードの制約があるからな。
パソコンやWSで動かすアプリとはまた別だわな。
283:デフォルトの名無しさん
07/07/06 23:54:10
て言うか、アセンブラできちんと書ける奴だと、どの言語使ってもびっ
くりするほど保守性があがったりしないよ。
どんな言語与えたって、トンマは仕様をきちんと理解しないでコーディ
ングするし、アホなロジック書いて得意げになってたりする。
アセンブラは、それに加えてスパゲッティ作りやすいとかトリッキー
なことができたりするので、トンマに与えると保守性? なにそれ?
っていう状態になりやすいだけのこと。
だから、C# や Ruby の保守性が高いと言うより、トンマが書いても保
守性が下がりにくいと言うほうがあたってると思う。
ちゃんとした奴が書けばアセンブラでも保守性が高いプログラムは書け
るけど、アセンブラはいくらでも保守性を下げることができると言う
自由度があると言うだけのこと。
284:デフォルトの名無しさん
07/07/07 00:14:53
アセンブラで保守性を高めるテクニックって、例えばどんなのがあるの?
285:デフォルトの名無しさん
07/07/07 00:17:11
それを言い出したらきりがないわな
286:285
07/07/07 00:18:52
>>285 は >>283 宛ね
287:デフォルトの名無しさん
07/07/07 00:32:12
>>284
マクロアセンブラ使うとか。最近はCというのが流行ってるそうだ(嘘。20年前スレ
288:デフォルトの名無しさん
07/07/07 00:42:08
一見すると Ruby の様なマクロアセンブラがあったら保守性高まるかもねw
289:デフォルトの名無しさん
07/07/07 00:45:07
その昔、構造化マクロアセンブラとかあったけど結局流行らんかった
290:・∀・)っ-○◎●
07/07/07 00:48:17
普通にCで使うLUTをRubyで計算して吐かせてる。
仕事でJavaScriptを生成するCGIのコードを書いたり・・・
Ajaxにはよくあることか。
クォーテーションのエスケープだけでも死ぬるwww
291:デフォルトの名無しさん
07/07/07 01:11:33
じゃ、そろそろアセンブラの話題に戻りますか...
292:・∀・)っ-○◎●
07/07/07 01:13:42
とりあえずAssemblyOnRails的なのが欲しいねWebアプリ開発用に。
293:デフォルトの名無しさん
07/07/07 09:11:55
>>284
大体は他の言語と一緒だよ。
・ドキュメントをちゃんと書くこと
・コメントをちゃんと書くこと
・構造化プログラミングをすること
・(本当に必要なところは別にして) ヘタな最適化をしないこと
・ラベルに分かりやすい名前を付けること。
・etc ...
アセンブラに特有なのは、他の言語ではローカル変数にも名前が付けられるから
分かりやすい名前をつけることで保守性を向上できるけど、アセンブラではロー
カル変数のの多くがレジスタに割り当てられるのでコメント等で変数の役割をド
キュメント化しておく必要があるとかかな。
294:デフォルトの名無しさん
07/07/07 12:45:36
>>283
こんな小さな例でもこれだけ違うんだけど^^
アセンブラの方はもっと簡単にはなるけど、CやC#以上に簡単になるのかい?
// int array[] = {...};
// int array_size = sizeof(array) / sizeof(array[0]);
// C#
int count = 0;
foreach (int x in array) count += x;
Console.WriteLine(count);
// C
int i, count = 0;
for (i = 0; i < array_size; ++i) count += array[i];
printf("%d\n", count);
// x86アセンブラ
xor edx, edx ; count
xor ecx, ecx ; i
lea ebx, array ; array
loop1:
lea eax, [ebx + ecx * 4]
add edx, [eax]
inc ecx
cmp ecx, array_size
jb loop1
push edx
push offset string "%d\n"
call dword ptr [printf]
add esp, 8
295:デフォルトの名無しさん
07/07/07 14:21:24
>>294
一言、「あ、そういえばセガサターンで動かすことになったから。先月決まってる確定事項だから」で最後の奴はドカーン!じゃん?
296:デフォルトの名無しさん
07/07/07 14:37:10
マジレス。
ドターソなんかにプラットフォーム変更になったらいろいろ作り直しだし。
297:デフォルトの名無しさん
07/07/07 23:22:47
mov が move に変わったくらいでグダグダいう無能がいたなあ
んなもん、ティックストゥエディトァ(英語は発音大事)開いて
置換すりゃ数秒で終わる。
298:デフォルトの名無しさん
07/07/07 23:27:45
Tcl/Tk スレに居た人か
元気?
299:デフォルトの名無しさん
07/07/07 23:29:49
プリプロセッサ使えよ
300:デフォルトの名無しさん
07/07/07 23:37:36
Cプリプロセッサは上手く使えば強力な痴漢ツールだよな
301:デフォルトの名無しさん
07/07/07 23:49:00
だが大抵、数年後に後任がカオスな状況に追い込まれる。
302:デフォルトの名無しさん
07/07/08 02:00:40
>>294
べつにアセンブラが C / C# 以上に簡単になるなんて書いてないんだけど、
なんか俺には見えないものが勝手に見通せる人ですか? (w
アセンブラわかってる人が見れば、そのアセンブラのコードを保守するのは
そんなに大変じゃないだろ?
303:デフォルトの名無しさん
07/07/08 02:08:30
アセンブラは難しい
アセンブラコードは可読性が悪い
これ、思い込みだろ
ロクにやったこともないアホが、他のアホの嘘を信じ込んだだけと言う
304:デフォルトの名無しさん
07/07/08 02:12:52
>>302
保守性=ソースが単純で短い程上がる
ってのは間違ってるのか?
少なくとも13行のソースよりは3行のソースの方が保守しやすいんじゃね?
(7行プログラミングとか、そういうのは除く)
>>294ではたったこれだけのソースでも
こんなに差が出てくるってことをいいたかったんだよ。
大規模なアプリになったらどれだけの差が出てくると思う?
305:デフォルトの名無しさん
07/07/08 02:16:08
例が悪いな
この程度なら保守性をうんぬんするレベルだとは思わんだろう
アセンブラに慣れてる人ならな
あと、大規模アプリにアセンブラを使うようなアホもおらんだろう
306:デフォルトの名無しさん
07/07/08 02:19:43
>>305
オープンソースにある大規模なアセンブラの例をあげた方がよかったの?
あくまで例えだからね。
そのくらい察してくれw
> あと、大規模アプリにアセンブラを使うようなアホもおらんだろう
その理由は?
307:デフォルトの名無しさん
07/07/08 02:38:29
変数のレジスタへの割り付けとか、名前空間の管理とか、現代人がコンパイラに任せる様な処理を
いちいち手動で行わないといけないのは保守性悪いと思うけど
308:デフォルトの名無しさん
07/07/08 03:00:18
大規模開発でアセンブラを使う理由?
Lattice C は1ライセンス20万もするし、PTOS上で動かないから。
309:デフォルトの名無しさん
07/07/08 03:06:31
とかいうのはまぁ置いといて。
大規模になると、細かい部分の可読性よりも、モジュールとかパッケージ
のような単位がしっかり設計・実装されてて、互いのインターフェイスが解りやい
とかいう方が大事になるのは、皆様ご存知の通り。
アセンブラはそこまで手作業でやらなくちゃいかんのも、皆様ご存知の通り。
で、このあたりについて議論の余地はあるのでしょうか?
310:デフォルトの名無しさん
07/07/08 03:07:59
アセンブラでの最適化が出来ない素人が言っていいことじゃないんだよな
素人に限って、「コンパイラのほうが速い」とか証拠も挙げずに知ったかをする。
311:デフォルトの名無しさん
07/07/08 03:33:05
>>306
>> あと、大規模アプリにアセンブラを使うようなアホもおらんだろう
> その理由は?
生産性が悪い。
人手が揃わん。
>>307
それ生産性じゃね?
>>309
> アセンブラはそこまで手作業でやらなくちゃいかんのも、皆様ご存知の通り。
C# とかだと、「モジュールとかパッケージのような単位がしっかり設計」が
自動的にできるわけ?
312:デフォルトの名無しさん
07/07/08 03:41:48
>>310
こっちでは、多少の速度の違いは気にしない世界になってからしばらく経つよ
313:デフォルトの名無しさん
07/07/08 05:52:14
>C# とかだと、「モジュールとかパッケージのような単位がしっかり設計」が
>自動的にできるわけ?
設計だけ抜き出してC#を出さないと破綻するのか?
314:デフォルトの名無しさん
07/07/08 09:41:23
なんか言いたいんだろうけど、主語がないから何を言いたいのか意味不明。
ドキュメントをきちんと書く癖をつけてない奴にありがちなレスだな >>313
315:デフォルトの名無しさん
07/07/08 11:12:49
>>308
それ組み込みの話?
そんなにマイナーな業界の話をされても^^
ところで、ゲーム業界やPC業界でアセンブラがほとんど消えた理由は?
316:デフォルトの名無しさん
07/07/08 12:06:00
>>315
高級言語の台頭で、アセンブラが理解できない馬鹿でもプログラミングが習得できるようになったから。
317:デフォルトの名無しさん
07/07/08 12:15:00
>>316
いや、それは無いよ。
少なくともゲーム業界なら技術的にはアセンブラでいけるはず。
318:デフォルトの名無しさん
07/07/08 12:58:36
「アセンブラでいける」
↑
なんの関係もないぞ
↓
「アセンブラが理解できない馬鹿でもプログラミングが」
319:デフォルトの名無しさん
07/07/08 12:59:00
>>314
ただ煽るのが目的のやつは、丁寧に説明されないと理解できない例だな
レス2つ遡るくらいの事が出来ないのだろうか??
320:デフォルトの名無しさん
07/07/08 13:00:53
>>315
PTOS でぐぐってみるべし。
321:デフォルトの名無しさん
07/07/08 13:51:03
>>319
で、丁寧に説明なんかできないんだろ? (w
322:デフォルトの名無しさん
07/07/08 13:59:59
文章の一部を抜き出した上に、相手が出していない条件を付け加えて
もとのレスの意味を捻じ曲げてからそこに突っ込みいれるような、
つまり、相手が書いていない事にたいして煽りを入れるようなマネをしない
っていう事なら、丁寧に説明してもいいが?
323:デフォルトの名無しさん
07/07/08 14:18:53
了解。
丁寧に説明してみて。
324:デフォルトの名無しさん
07/07/08 14:20:02
>>316
そそ。高級言語の方がアセンブラよりも理解しやすい。
ついでにいうと保守しやすいし生産性も上がるからやね。
325:デフォルトの名無しさん
07/07/08 16:12:30
FORTRAN出現以前のスレがあると聞いて飛んできますた
326:デフォルトの名無しさん
07/07/08 16:29:05
コンパイル時評価のネタでCマクロは良く出てくるのに
C++テンプレートはあまり出てこないのは何ででしょうか?
327:デフォルトの名無しさん
07/07/08 16:33:16
君のレベルがそこでとどまってるから
328:デフォルトの名無しさん
07/07/08 16:57:44
電気で考えられる奴はHDLを使う。
論理で考えられる奴はアセンブラを使う。
手順で考えられる奴はC言語を使う。
機能で考えられる奴はUMLを使う。
収支で考えられる奴はSASを使う。
何も考えられない奴は日本語を使う。
329:デフォルトの名無しさん
07/07/08 16:59:50
>>328
UML だけは、使っても何も起こらないなw
330:デフォルトの名無しさん
07/07/08 17:59:37
UMLはジェネレータでソースを出さないと始まらないね。
331:デフォルトの名無しさん
07/07/08 18:57:39
>>328
(-1:フレームのもと)
332:デフォルトの名無しさん
07/07/08 19:03:32
(+1:オフトピが好き)
333:デフォルトの名無しさん
07/07/08 19:11:03
333
334:デフォルトの名無しさん
07/07/10 19:50:35
日本語が一番難しい
335:デフォルトの名無しさん
07/07/10 20:56:04
このスレに日本語を使いこなせてる奴いないもんな
336:デフォルトの名無しさん
07/07/10 21:31:49
>>335 使いこなせていない具体例としては、よく出来ていますね。
337:デフォルトの名無しさん
07/07/11 20:35:15
ゲームの世界はいまだにアセンブラの使用頻度は多い
D3D8.1、OpenGL1.4まではシェーダといえばアセンブラだったし
家庭用は家庭用で、とにかく限られたハード性能を絞るためにアセンブラ必須
360なんかは、なぜか知らないが高級言語の開発環境が整っているとか勘違いされてるが
360の最大のメリットは、カーマックも言ってるようにハードの相当の部分に直アクセスできること。
なので、こちらはアセンブラ必須。
ただでさえ低性能なハードなのだからこれで性能を少しでも増してやらないととても開発できない。
PS3はPS3で新しいCPUを使っているのでこれもアセンブラ必須。
338:デフォルトの名無しさん
07/07/11 21:26:28
環境非依存なアセンブリコードを書きたい
339:デフォルトの名無しさん
07/07/11 22:02:59
>>338
えみゅ
340:デフォルトの名無しさん
07/07/11 23:21:48
エミュレータ用アセンブラで書けば移植性完璧なアセンブラだな・・・それなんてJVM/bytecode/CLR/MSIL?
341:デフォルトの名無しさん
07/07/12 00:32:18
ていうか、移植するような案件ほとんどないうえに
例えば
x86 -> PowerPC としても
これそんなに難しくないし。
SSEは切り捨ててしまえばよい。
342:・∀・)っ-○◎●
07/07/12 00:38:02
アセンブラでCGI書くやついる?(愛甲健二氏除く)
343:デフォルトの名無しさん
07/07/12 10:34:21
CGIをアセンブラで書くような状況なら先にサーバの方に手を入れるだろ
344:デフォルトの名無しさん
07/07/12 12:34:00
どうでもいいような部分の高速化のために
無駄な努力をする人がいるのですよ。
345:デフォルトの名無しさん
07/07/12 23:24:15
不思議なのは、
プログラムを自在に出来るようになるためには時間と労力を惜しむな
というのに、
アセンブラのことに「限って」無駄と言う
ワケがわからんダブルスタンダードだ。
346:デフォルトの名無しさん
07/07/12 23:34:43
まあ実際無駄だからな。知識としては必須だし、役立つ局面も勿論あるが、
特に制約も条件もないのに回り道するのは意味の無い事だ。
趣味なら別だけどね。
347:デフォルトの名無しさん
07/07/12 23:35:35
別にアセンブラに「限って」ないと思うけど。
いまから FORTRAN-II とか ALGOL-60 とかやりたいと言えば、
大抵の人は「何でそんな無駄なことを」って言うだろ。
348:デフォルトの名無しさん
07/07/12 23:42:07
C
mo
muda
349:デフォルトの名無しさん
07/07/13 00:56:07
自分がやる1つ下(と上)のレベルまでやるのが常識だろ
350:デフォルトの名無しさん
07/07/13 00:56:19
Programming
ga
muda
351:デフォルトの名無しさん
07/07/13 01:09:48
Master-Slave model
352:デフォルトの名無しさん
07/07/13 09:58:54
多少のパフォーマンスの悪さに目をつぶっても、同じ手間ならより安全なプログラムを書きたい
と思う人も多いのだ。
353:デフォルトの名無しさん
07/07/13 21:21:07
処理が遅いなら、速いCPUに変えちゃえばいいって理屈も、
最近はHDDやネットの応答速度の方がボトルネックになっているから無意味だし。
354:デフォルトの名無しさん
07/07/13 21:24:04
あるサーバーのパフォーマンス調べたら、CPU使用率平均5%だった。
でも、すんごい遅いんですけど。どこが無駄飯食ってるのかね?
355:デフォルトの名無しさん
07/07/13 21:28:20
その程度の情報で分かったらエスパー
356:デフォルトの名無しさん
07/07/13 21:38:47
>>354
そのへん設計したSE
357:デフォルトの名無しさん
07/07/13 22:14:56
遅いのはブラウザ側でJavaScriptでとんでもない処理をしてるとか
358:・∀・)っ-○◎●
07/07/13 22:56:32
たいがいディスクI/O。
359:デフォルトの名無しさん
07/07/14 00:04:37
六供町とか
360:デフォルトの名無しさん
07/07/14 01:38:57
> どこが無駄飯食ってるのかね?
お前じゃね?
361:デフォルトの名無しさん
07/07/14 02:03:01
>>354
単に負荷が少ないだけじゃないの
オンライン系のピーク時で5%なら投資対効果は悪いかもね
一般的なサーバの CPU 使用率は平均で 20% 程度だという
統計もあるそうだ
362:雑誌の受け売りしただけだと思うが。
07/07/14 09:18:29
> 単に負荷が少ないだけじゃないの
日本語理解できてない奴がいるな...
>>354 > でも、すんごい遅いんですけど。
363:デフォルトの名無しさん
07/07/14 10:20:13
ネットワーク
タイムアウト
364:デフォルトの名無しさん
07/07/14 10:59:04
>>362
ボトルネックの調べ方もわからない奴がなんでこのスレに居るんだろう。
まさしく>>360の言う通りか…
365:>>362, そもそも >>360 も俺だし。
07/07/14 11:05:59
で、君は >>354 の書き込みだけでボトルネックが調べられるとでも?
て言うか、そもそも >>361 の書き込み自体がボトルネックと関係ないし。
バカ?
366:デフォルトの名無しさん
07/07/14 12:20:09
熱くなるのはCPUだけでいい
367:デフォルトの名無しさん
07/07/14 12:41:16
まあ、結局どうしようもないくらい周囲が遅いのでアセンブラで書いても意味が無いって事だけは分かった。
368:デフォルトの名無しさん
07/07/14 12:45:45
>>366
目頭が熱くなった
369:デフォルトの名無しさん
07/07/14 15:45:53
ハードウェアを知ることは無駄と言うが、
ハードウェアも知らずにプログラムとは笑わせる。
370:デフォルトの名無しさん
07/07/14 15:51:40
だれも言ってないとおもうぞ。
371:デフォルトの名無しさん
07/07/14 16:00:22
>>365
そんなに必死になる事でもないだろ。
煽りを入れないと文章書けない人か?
372:デフォルトの名無しさん
07/07/14 16:07:10
>>354
回線のボトルネックを疑うだろ普通
373:デフォルトの名無しさん
07/07/14 16:08:50
>>365
そんなお前でも童貞じゃないんだろうなぁと思うと自分が悲しくなってくる。
俺いつまで童貞なんだろう。
374:デフォルトの名無しさん
07/07/14 16:15:50
CPU が 20 個あるのにプロセスが 1 個しか上がってないのかもしれない
375:デフォルトの名無しさん
07/07/14 16:19:50
プロセスつーかネイティブスレッドか
376:・∀・)っ-○◎●
07/07/14 16:20:54
リソースに余裕があるなら仮想化したら?
あとRailsとかの重量級フレームワーク使えばけっこう食ってくれるはず
377:デフォルトの名無しさん
07/07/14 16:22:12
Sleepやらアイドルの間隔が長いコードかもしれない。
378:デフォルトの名無しさん
07/07/14 18:53:18
つーかこの問題のどこにアセンブラが関係しているのだろう・・・
379:デフォルトの名無しさん
07/07/14 22:01:59
アセンブラでCGI書いてたりするんじゃないの?知らないけど。
380:デフォルトの名無しさん
07/07/14 22:13:18
各CPUごとにアセンブラコードを最適化したい場合、
いったいどうやってやればいいんですか?
IntelとAMDだと速度が出るコードの傾向がちょっと違いますし、
Intelのなかでもいろいろありますよね。
各CPUのPCを何台も用意して、試行錯誤繰り返すしかないんでしょうか?
381:デフォルトの名無しさん
07/07/14 22:33:47
>>380
最適化出来たかどうかを試すのには、結局各 CPU の PC を何台も用意して
確認する必要があるでしょ。机上で試したいなら CPU ベンダーがシミュレータを
作っている場合もあるけど。
382:デフォルトの名無しさん
07/07/14 22:39:04
アセンブラに置き換える前に、アルゴリズムを見直した方が良い結果が得られる。
383:・∀・)っ-○◎●
07/07/14 22:52:21
SSEを使える(並列化できる)部分を見つけてまずそこを置き換える
コーディングのお供はAgnerのドキュメントかな。
疲れるだけだから、無駄に机上試験なんてやらない。
384:デフォルトの名無しさん
07/07/14 22:56:12
そんな限定された話題だったのか?
385:・∀・)っ-○◎●
07/07/14 23:04:03
さあ、4倍とか8倍とかになり得るのはSSE使ったときくらいじゃないの?
今時のx86向けのC/C++コンパイラは優秀だしCPU側にOoOもあるから、
ただアセンブリコードに置き換えるだけじゃそんなに速くならんよ。
386:デフォルトの名無しさん
07/07/14 23:18:33
2倍くらいなら命令順を工夫すれば・・・って、
その程度ならコンパイラが頑張ってくれるか?
387:デフォルトの名無しさん
07/07/14 23:26:43
誰も4倍とか8倍なんて言ってないと思うが…
388:・∀・)っ-○◎●
07/07/14 23:49:20
逆に、差が出ないのに処理わけする意味なんてないでしょ
1.x倍程度ならわざわざ手間はかけないでしょ。
まあ確かにCPUによっては
sh; eax. 3
よりも
add eax. eax
add eax. eax
add eax. eax
のほうが速かったりするけどさ、一般的なコードのシーケンスの中では
そんなに差は出ないことのほうが多い
389:デフォルトの名無しさん
07/07/14 23:56:56
CPUの中でも分岐予測などの最適化が行われるから?
390:デフォルトの名無しさん
07/07/15 00:02:40
>>388
それは要件次第じゃないの。50% 速くなったら、それはそれで嬉しいと思うが。
391:デフォルトの名無しさん
07/07/15 00:17:16
リヌァックスでは、SSE1~4最適化しないAltivec最適化しない
という最適化一切なし状態ではCore2はPPC970の足元にも及ばない。
SSE3最適化あり
Altivec最適化なし
こうすると、2倍くらい早くなる。
392:デフォルトの名無しさん
07/07/15 00:23:22
>>391
SIMD 使うアプリなんて殆ど無い
393:デフォルトの名無しさん
07/07/15 00:23:32
なにそのおいしそうな西洋菓子みたいなOS
394:・∀・)っ-○◎●
07/07/15 00:31:02
AltiVec最適化ありの場合は?w
性能によっちゃiMacG5の中古良品を確保しておくんだが。
395:デフォルトの名無しさん
07/07/15 00:36:13
だんごちゃんって煽られたりしないの?
396:デフォルトの名無しさん
07/07/15 01:37:35
煽られるというか、晒される事はあるよな。
「CellでSSE」とか
397:デフォルトの名無しさん
07/07/15 01:52:18
VMXやAltivec最適化を効かせても、現状のAthlon64と似たようなもんだよ
浮動小数点演算では結構食らいついていくが、整数となるとcore 2に負ける。
それにスレッディング前提のCPUだからシングルスレッドじゃ、てんでダメだしな
398:デフォルトの名無しさん
07/07/15 02:15:03
マ板のオブジェクト指向スレに住み着いた痴呆どもを見慣れてる俺には
団子はまともなコテに見えるぞ
399:・∀・)っ-○◎●
07/07/15 02:32:21
読解力が無い子と話するのは苦手なんですよ
400:デフォルトの名無しさん
07/07/15 02:32:57
自分の間違いを人のせいにするチョン加減w
401:・∀・)っ-○◎●
07/07/15 02:36:11
まあ、CellのSPEがAltiVecとして使えるとか言う痛い子が住み着いちゃってるけど
処方箋なんてないでしょ
402:デフォルトの名無しさん
07/07/15 02:47:48
SPUはベクトル演算器であるとは書かれているがw
Altivecが何たるかも知らんド素人かw
403:デフォルトの名無しさん
07/07/15 02:49:57
URLリンク(ja.wikipedia.org)
Altivecとは何なのか、よ~く勉強しようね
ド素人は理解できないかw
404:デフォルトの名無しさん
07/07/15 02:52:00
ハイ おさらい。
スレリンク(tech板)l50
SSE実行できないCellでSSEの実測をしたという捏造の瞬間wwwww
864 名前: ・∀・)っ-○◎● [sage] 投稿日: 2007/06/17(日) 16:22:27
movd xmm0, eax
movd eax, xmm0
movd xmm0, eax
movd eax, xmm0
movd xmm0, eax
movd eax, xmm0
movd xmm0, eax
movd eax, xmm0
こんな感じで繰り返せば一応往復のレイテンシは計測できるよね
で、何クロックかかるのかな?
答えてね。俺より頭いい子ならすぐわかるはず。
もっとも俺は実測結果あるけど
866 名前: デフォルトの名無しさん [sage] 投稿日: 2007/06/17(日) 16:26:12
CellでSSEって
405:デフォルトの名無しさん
07/07/15 02:52:54
871 名前: デフォルトの名無しさん 投稿日: 2007/06/17(日) 16:30:08
どちらもSIMDユニットだから、ハードの役割としては同等
というのに、ISAが同じだと捏造していたとw
バカだあのド素人w
Cellも知らずプログラムもできないチョンw
保存しとこうやw
864 名前: ・∀・)っ-○◎● [sage] 投稿日: 2007/06/17(日) 16:22:27
movd xmm0, eax
406:・∀・)っ-○◎●
07/07/15 02:56:19
はい釣れた
407:デフォルトの名無しさん
07/07/15 02:57:34
URLリンク(www.media-k.co.jp)
釣れた【つれた】[名]
自分の当てずっぽうレスを大勢に突っ込まれ&馬鹿にされた時に厨房が
悔し紛れに言う単なる逃げ口上の最後っ屁。
その後放置される。
408:・∀・)っ-○◎●
07/07/15 03:00:24
ごめんね良スレだったのに変なの呼び込んじゃって。
メール欄空白の奴をあぼーんする設定にしとくといいよ
409:デフォルトの名無しさん
07/07/15 03:34:22
ところで最近はトリップつけてないのに良く成り済まし(少なくともそう思われるレスは見てない)被害に遭わないな。
まぁ、平穏なのはいい事だが。でもこのレスを皮切りに以下成り済ましの嵐になるかもね。あーあ、黙ってればいいものを・・・。
410:デフォルトの名無しさん
07/07/15 03:37:55
既に395を皮切りに荒れているが
411:・∀・)っ-○◎●
07/07/15 03:40:02
たまにいるよ。
中尾さんファンクラブ会費年30ドル払わないとなり済ませないけど。
412:デフォルトの名無しさん
07/07/15 06:22:16
CellでSSE使えるとか捏造するのがマトモなのか?w
413:デフォルトの名無しさん
07/07/15 06:31:51
SSEはインテルの商標だからCellに乗ってるわけないだろw
・・・と煽ろうと思ったが、実は違ったのな。MMXは商標なのに。
Streamingを目的としたSIMD拡張ならSSEと呼んでいいのかもしれない。
414:デフォルトの名無しさん
07/07/15 09:59:22
>>413
いやダメだろ。SSEは商標ではないとしても固有名詞化してるからな。
415:・∀・)っ-○◎●
07/07/15 13:37:02
なに?SPEがAltiVecとしても使えて、PPE←→SPEの転送レイテンシが1とか言ってた負け犬がまだ居ついてるの?
IntelアーキでSSE2の汎用レジスタ←→XMMレジスタ間転送なら1だとは言ったけどね
物理的に同じコアのレジスタ間転送だから当然
416:・∀・)っ-○◎●
07/07/15 13:39:19
SSEはx86ネイティブの命令セットじゃないとも言ってたな。
【拡張】命令の意味がわかってないらしい。
全く別物の命令セット(元の命令を実行すらできない)じゃないんだよ。
417:デフォルトの名無しさん
07/07/15 20:18:22
871 名前: デフォルトの名無しさん 投稿日: 2007/06/17(日) 16:30:08
どちらもSIMDユニットだから、ハードの役割としては同等
というのに、ISAが同じだと捏造していたとw
バカだあのド素人w
Cellも知らずプログラムもできないチョンw
保存しとこうやw
864 名前: ・∀・)っ-○◎● [sage] 投稿日: 2007/06/17(日) 16:22:27
movd xmm0, eax
418:デフォルトの名無しさん
07/07/15 20:18:54
ハイ おさらい。
スレリンク(tech板)l50
SSE実行できないCellでSSEの実測をしたという捏造の瞬間wwwww
864 名前: ・∀・)っ-○◎● [sage] 投稿日: 2007/06/17(日) 16:22:27
movd xmm0, eax
movd eax, xmm0
movd xmm0, eax
movd eax, xmm0
movd xmm0, eax
movd eax, xmm0
movd xmm0, eax
movd eax, xmm0
こんな感じで繰り返せば一応往復のレイテンシは計測できるよね
で、何クロックかかるのかな?
答えてね。俺より頭いい子ならすぐわかるはず。
もっとも俺は実測結果あるけど
866 名前: デフォルトの名無しさん [sage] 投稿日: 2007/06/17(日) 16:26:12
CellでSSEって
419:デフォルトの名無しさん
07/07/17 09:48:53
アセンブラってアーキテクチャごとに違いが大きいから、x86とそれ以外にスレを分けてもいい気がするんだ。
てか、x86でしか通用しない話題多すぎ
420:デフォルトの名無しさん
07/07/17 10:46:38
バカが沸かなきゃ一緒でいいよ。
421:・∀・)っ-○◎●
07/07/17 22:40:36
BroadwayがPPC970互換でマルチスレッディング対応はワロタ
422:デフォルトの名無しさん
07/07/18 02:13:57
ダンゴの自演多すぎワロタ
423:デフォルトの名無しさん
07/07/18 11:03:31
どの辺が自演?
424:デフォルトの名無しさん
07/07/18 15:47:59
↑こいつ団子
425:423
07/07/18 16:22:41
ちゅがうよ。
426:デフォルトの名無しさん
07/07/18 16:50:55
424 ←こいつが団子
427:デフォルトの名無しさん
07/07/18 18:01:31
いやいや俺俺
428:デフォルトの名無しさん
07/07/18 18:52:33
どうぞどうぞ
429:デフォルトの名無しさん
07/07/20 07:37:37
PPC970って1コア2スレッド対応だろ
430:デフォルトの名無しさん
07/07/20 08:39:12
429 名前:デフォルトの名無しさん[sage] 投稿日:2007/07/20(金) 07:37:37
PPC970って1コア2スレッド対応だろ
431:デフォルトの名無しさん
07/07/20 09:34:49
>>430
CellのPPEは命令セットがPowerPO 970互換なだけで970とは全くの別設計。
いつからPPEがPPC970そのものになったんだ?ばか。
WiiのBroadwayは750(G3)系のカスタムCPUでVMXも64ビットも非対応。
432:デフォルトの名無しさん
07/07/21 22:41:41
詳細は非公開
433:デフォルトの名無しさん
07/07/21 22:42:26
PPE は64bit POWERアーキテクチャであり、
命令セットはPowerPC G5互換ではあるが、
既存のPowerPC系 CPU と異なる内部構造(Xbox 360のPowerPCコアに似ている)をもつ
新設計のコアである。
2スレッドを同時に実行することが可能で、
434:デフォルトの名無しさん
07/07/21 23:04:10
そういやさ
サーバー用CPUというのは、1コアで8スレッド処理できるものとかザラじゃん。
コンシューマばかり触れてきた奴に通じないのだから参ったことがあった
「1コア8スレッドで、8コアだから64スレッドがオン・ダ・フラーイできるわけ」
「そんなCPUあるわけない!そもそもCPUってのは1コアにつき1つのスレッドまで!」
自称パソコン歴15年のがね。こういうのさ
435:デフォルトの名無しさん
07/07/21 23:45:16
1コアで8スレッドなんて制限があるCPUなんて聞いたこと無いんだが。
436:デフォルトの名無しさん
07/07/21 23:55:01
>>434
昔の人間にとっては、
CPU = ALU + RegFile
だから。
ALU + ALU + ... + ALU + RegFile
みたいなのは、1つのCPUと言いたくないんだろう。
437:デフォルトの名無しさん
07/07/22 00:02:10
> ALU + ALU + ... + ALU + RegFile
そんな構成でどうやって1コアで8スレッドを実行するんだよ。
438:デフォルトの名無しさん
07/07/22 06:03:13
きっとスレッド=演算なんだろ
439:デフォルトの名無しさん
07/07/22 06:11:42
同時に処理できるのは1コア1スレッドまでだけどな。
440:デフォルトの名無しさん
07/07/22 06:19:18
シングルコアのマルチスレッドは所詮は幻想なんだな
441:デフォルトの名無しさん
07/07/22 08:14:01
この場合は、こういうことじゃないか?
> 今日まで市場で使用されてきた主要なサーバ向けプロセッサは、シングルコアもしくはデュアルコアであり、
> デュアルコア・プロセッサの中でも各々のコアで2スレッドが実行可能なものが技術的に最も進んだものと捉えられてきました。
> UltraSPARC T1は、この状況を一変させました。
> UltraSPARC T1プロセッサには、最大8つのコアが搭載され、各コアは、4つのスレッドを実行可能です。
URLリンク(jp.sun.com)
442:デフォルトの名無しさん
07/07/22 08:31:54
で、8スレッド制限の根拠未だ?
443:デフォルトの名無しさん
07/07/22 08:57:04
同時に実行できるのが8スレッドまでなんじゃないかな
444:デフォルトの名無しさん
07/07/22 11:21:52
1コア8スレッド同時実行てことは、PCも1コアあたり8個あるってことか?
445:デフォルトの名無しさん
07/07/22 11:38:32
1コア1スレッドまでという制限があるなんてはじめて聞いたんだが。
またチョンが敗北したw
446:デフォルトの名無しさん
07/07/22 11:40:26
「同時に処理できるのは」と書いておろうが
447:デフォルトの名無しさん
07/07/22 12:02:27
いやだから、1でも2でも、4でもない、8って数字の根拠未だ?
448:デフォルトの名無しさん
07/07/22 12:08:21
HTテクノロジーなんか、1コア2スレッドの典型例ジャマイカ
あれは1つのコアに2つのコンテキストを含んでるんじゃなかったっけ
449:デフォルトの名無しさん
07/07/22 12:23:20
同時実行スレッド数の話でいいのかな?
それだったらHTはそうだね。
で、8スレッドって話はどこから?
450:デフォルトの名無しさん
07/07/22 12:41:50
どっかに 8 スレッド使えるやつがあるのかな。
451:デフォルトの名無しさん
07/07/22 13:44:07
アセンブラ… ( ゚д゚)ウッウー
って何?
452:デフォルトの名無しさん
07/07/22 13:50:02
(><)ワカンナイデス!
453:デフォルトの名無しさん
07/07/22 13:58:42
同時に処理しなくていいなら、386ですら無限大のスレッド扱えるじゃん
454:デフォルトの名無しさん
07/07/22 14:31:00
ふーむ
455:デフォルトの名無しさん
07/07/22 14:47:12
>>448
1コア8スレッドの「8」は、たまたまそういう規格だっただけだろう。
実際、>>441は同時4スレッドっぽいし。
456:お約束の突っ込みだが (w
07/07/22 15:17:46
>>453
有限のメモリで無限のスレッドを管理できるんだ。
そんな凄いOSの名前をぜひ教えてくれまいか。
457:デフォルトの名無しさん
07/07/22 15:36:29
>>434は2ちゃんでも繰り返されたなw
458:デフォルトの名無しさん
07/07/22 16:26:33
これってアセンブラに関係する話なのか?
459:デフォルトの名無しさん
07/07/22 17:50:30
これは「 ( ゚д゚)ウッウー」に関係する話
460:デフォルトの名無しさん
07/07/22 19:03:36
「スレッド」の意味するものがコンテキストによって変化する例ですな
461:デフォルトの名無しさん
07/07/22 19:28:06
ストリーミングすりゃ、どんなCPUでも無限のスレッド使えるよwww
今日一日20スレッド処理し明日20扱い・・・・・・
どんどん増えていくなw
ド素人>>439の考えてることはこういうことだろ?w
462:デフォルトの名無しさん
07/07/22 19:28:48
439 名前: デフォルトの名無しさん [sage] 投稿日: 2007/07/22(日) 06:11:42
同時に処理できるのは1コア1スレッドまでだけどな。
で、これの根拠はどこなのだろうね
HTでも既に同時処理できているのに「1コア1スレッド」
団子無知すぎるw
463:デフォルトの名無しさん
07/07/22 20:04:52
>>462
おや、団子フォビアですか?
464:デフォルトの名無しさん
07/07/22 20:19:26
まんじゅう恐い
465:・∀・)っ-○◎●
07/07/22 20:55:44
馬鹿じゃね?
シンメトリックFGMTは1サイクル毎にスレッドを切り替えて実行するもので「同時」とは言わない。
同時なのはPentium 4のSMT方式
466:・∀・)っ-○◎●
07/07/22 21:01:09
>>434
on the flyがどう読んだらオン「ダ」フライになるんですか。中学生以下の英語力乙