[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 09/06 12:27 / Filesize : 234 KB / Number-of Response : 1016
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C言語なら俺に聞け 160



1 名前:デフォルトの名無しさん mailto:sage [2022/12/28(水) 10:40:30.02 ID:PyoNDBFu0.net]
!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
codepad.org/

C17
www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4713.pdf

C11
www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf

C23 最新ドラフト
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf

C99
www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
kikakurui.com/x3/X3010-2003-01.html

C FAQ 日本語訳
www.kouno.jp/home/c_faq/

JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/

※前スレ
C言語なら俺に聞け 159
https://mevius.5ch.net/test/read.cgi/tech/1659623547/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

577 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 06:15:37.72 ID:nSao/Dea0.net]
>>568
何が?

578 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 06:58:01.26 ID:94fNx05VM.net]
8086には現在のような深いパイプラインは無いがそれでもEU(Execution Unit : 実行ユニット)とBIU(Bus Interface Unit : バスインタフェースユニット)は独立しており
メモリアクセスと内部のALUはそれぞれ別々に動作する
ある意味初歩的な2段パイプラインとも言える構造で単純なクロックサイクルの加算とはならない

579 名前:デフォルトの名無しさん [2023/03/05(日) 07:13:34.61 ID:cmZGkkdl0.net]
>>571
>[temp]は2回だな
なぜ2回?

580 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 08:11:12.86 ID:nSao/Dea0.net]
>>573
temp: dw 0000h
つまりtempはメモリに置かれている
tempのREADで1回、
[]によるインダイレクトでもう1回
だろ

581 名前:デフォルトの名無しさん (ワッチョイ 13ad-NCuH) mailto:sage [2023/03/05(日) 12:43:47.21 ID:nmaj3sub0.net]
>>567
昔昔はそういうものだったんよ。
Cは、
・プログラマの責任において何でもできる
・コンパイラはプログラマの意思に忠実であれ(余計な最適化なんかするんじゃねえ!)
ってこと。だから、
a=a+1;と、a++;は違う。
前者は加算命令、後者はインクリメント命令になってほしいというのが、プログラマの意志。
ただ、Cが色々な場で広く使われるようになって、最適化を進めるしかなくなったから、そんなのどうでもいいことになったけど。

582 名前:デフォルトの名無しさん (ワッチョイ 1969-zdzo) mailto:sage [2023/03/05(日) 12:47:05.12 ID:s1YdjeUN0.net]
>>574
だからさ……それを2回っていうなら、[sp+10]も2回だろ

583 名前:デフォルトの名無しさん (ワッチョイ d163-PMd1) mailto:sage [2023/03/05(日) 13:30:59.36 ID:nSao/Dea0.net]
>>576
何で?
即値はフェッチ時点で取り込まれているのに

584 名前:デフォルトの名無しさん (ワッチョイ 1969-zdzo) mailto:sage [2023/03/05(日) 15:05:57.71 ID:s1YdjeUN0.net]
>>577
tempもtemp自体は即値だよ
[sp+10]と[temp]の違いはレジスタ相対かどうかだけ

585 名前:デフォルトの名無しさん (ワッチョイ 13ad-Qpn1) [2023/03/05(日) 15:07:29.13 ID:YlwUczDE0.net]
>>575
ま、しかし、昔はコンパイラの最適化がしょぼかったというのもあるな。
CPU (特に 8 bit CPU とか) がC言語等のいわゆる高級言語を全く意識して作られていないというのが最大の問題だったのかも知れないが。



586 名前:デフォルトの名無しさん (ワッチョイ d163-PMd1) mailto:sage [2023/03/05(日) 15:41:40.37 ID:nSao/Dea0.net]
>>578
DWディレクティブで定義してるんだからリテラルの類だよ
命令コードと一緒にフェッチされる即値とは根本的に違う

587 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 16:48:35.64 ID:0aHQQO/od.net]
>>577
CPU仕様によるが
68000では8ビット範囲以内のディスプレースメントは命令中に含まれてたが
8086はどうだっけ…

588 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 17:03:05.50 ID:nSao/Dea0.net]
>>581
いやここはCPU仕様には関係ないぞ
68kにしたってdc.lディレクティブで置いた定数はディスプレースメントじゃないし

589 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 17:27:59.49 ID:0aHQQO/od.net]
間違い、>>581は6809の話だった…


ややこしくなってるが
MOV AX、[SP+10]
がspレジスタから10バイト後を読むなら
MOV AX、[TEMP]
はアドレスTEMPを読む意味だろ

8086ニーモニックをよく知らないが

590 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 17:44:11.51 ID:nSao/Dea0.net]
>>583
6809にしたってFDBディレクティブで置いた定数はディスプレースメントじゃないし

591 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 18:29:27.81 ID:On/jxRV/0.net]
#include <stdio.h>
#include <math.h>

void main(void){
double a, b, c;
double x1;

a = 4;
b = -3;
c = 1;
x1 = (-b + sqrt(pow(b,2) - 4*a*c)) / (2 * a);
printf("%f\n", x1);
}

printfが-nanて表示します。これはどういう意味でしょうか?

592 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 18:43:57.85 ID:KnQWIUK4d.net]
>>585
コンバイラかて人間や
こんなつまらん二次方程式の解をなんぞ解きたくない

そう言う意思表示や

593 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 18:53:30.15 ID:M62PQQGq0.net]
>>585

printf("(%f)\n",pow(b,2) - 4*a*c);

594 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 19:03:21.29 ID:On/jxRV/0.net]
あー、なんかわかってきました
そういうことか
サンクス

595 名前:はちみつ餃子 mailto:sage [2023/03/05(日) 19:07:20.35 ID:AE3nXsIn0.net]
>>585
sqrt に負数を渡した場合には定義域エラーとなり、定義域エラーのときは処理系定義の値を返す。
その処理系では処理系定義の値というのが nan だということになる。
言語仕様では詳細は規定されていないけれど
一般に浮動小数点の表現として使われる IEEE 754 などでは非数 (not a number) を表現のひとつとして持ち、
意味のある計算結果にならなかったときは非数がセットされる。
not a number の略で NaN 。

処理系によっては定義域エラーをハンドリングする方法を用意してあることもあるけど、
発生させないように事前にチェックしたほうが基本的には簡単だと思う。



596 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 19:21:09.18 ID:0aHQQO/od.net]
よくわからないんだが
>>574が勘違いだな

TEMP: dw 0000h
はデータ0000hをメモリに置いてそのアドレスをTEMPと定義するという命令(アセンブラ疑似命令)

MOV AX,TEMP
はAXレジスタにそのアドレス値を入れる
MOV AX,[TEMP]
はAXレジスタにそのアドレスの内容(0000H)を入れる

さらに[0000H]の内容を読むにはもう1命令必要になる…はず

6809なら1命令で読めるがあまり使われなかったと思うどっちにしろ遅くなるので

597 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 19:26:59.51 ID:eomhsMcE0.net]
6809の用語でいうとメモリ間接参照アドレッシングだな

598 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 19:30:46.77 ID:eomhsMcE0.net]
ちなみに1命令で読むのはダイレクトページ参照アドレッシングな
6809ではあまり使われなかったけど、6502などではこれが使えないと実質何も出来ない

599 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 23:40:03.63 ID:yUIw0mIIM.net]
>>585
nanは、何処かでnanになると、その後の演算全てがnanになる
なのでsqrtのnanが伝搬してprintfがnanを表示した
ゲーム(特に3D)は、油断するとnanを伝搬させてしまう事があって、キャラがグチャグチャに壊れて表示されるのは、それが原因
nanを伝搬させるとデバッグが大変なので、nanを出さないように細心の注意が必要だ
sqrtとか特に割り算(/)に気を付けないといけない

600 名前:デフォルトの名無しさん mailto:sage [2023/03/06(月) 02:42:50.81 ID:Ht1FmqqLd.net]
>>593
え、割り算でNaN出る?と一瞬思ったけど、0.0/0.0かな?多分
珍しいケースに思える

非ゼロ/0.0でinfが出るのは関数の根を簡易に求めるのに重宝するけど(逆数が極)、NaNが出る可能性にまでは気を配って無かったのでナイス指摘

601 名前:デフォルトの名無しさん mailto:sage [2023/03/06(月) 02:51:49.35 ID:Ht1FmqqLd.net]
>>589
IEEEはほぼCの為に制定されたようなものでは?
fpuなんて改造してナンボな本場のnumber cruncher達(ほぼFORTRAN/Fortran)は最近までIEEEなんて最近までガン無視だったわけで
今は標準モジュールにIEEEサポート入って普及してるけど

602 名前:デフォルトの名無しさん mailto:sage [2023/03/06(月) 02:52:25.09 ID:Ludh8Y7rM.net]
>>594
3Dだとベクトルのノーマライズをしょっちゅうするけど、これはベクトルの長さで割るけど、事前に長さのチェックが漏れてると、ゼロで割ることになる
そういう特殊な状況は確かに稀なんで、リリースに残ってしまうことがある

603 名前:デフォルトの名無しさん mailto:sage [2023/03/06(月) 03:02:31.96 ID:Ludh8Y7rM.net]
>>594
良く考えたら、rsqrtがnanを返してる気がする…

604 名前:デフォルトの名無しさん mailto:sage [2023/03/06(月) 03:14:56.83 ID:VyhKtCOB0.net]
>>596
俺環ではDBL_MIN/0.0でもちゃんとinf吐くから、ノーマライズされるべきベクトル(分母)が正確に0.0というのはdoubleでは考えにくいような…
3Dだとsingle以下のfloat16/8とか使うと聞くから、極端に精度が低過いと起きるのかしら?

605 名前:デフォルトの名無しさん mailto:sage [2023/03/06(月) 07:22:56.30 ID:VyhKtCOB0.net]
分子、でした

>>597
かもね

あと0.0/0.0以外の四則でもnanが出るケースは他にも思い付く(今思い付いた)
inf/infとか

まあ実数関数求根/方程式を解く目的なら(精度上での)解に達した証がinfだから、発生した時点で必ずbreakするし、事実上到達し得ない計算だけど

定義域がパッチワークみたいな複素関数で一々入力のチェックなんてやってられないし、nanには静かに伝播してもらわないと困るけど
とにかく欠損値の無い有限の実数値だけが欲しいだけ(例えばグラフィック)なら、fenv.h/signal.hで例外をヲチしてSIGFPE投げるとか、あるならsnanモードにするとか



606 名前:デフォルトの名無しさん mailto:sage [2023/03/06(月) 14:19:01.34 ID:+b36jU+h0.net]
この糖質3歩手前みたいな文章はいつもの彼かね
>>385とか>>523とかと雰囲気が同じだが

607 名前:デフォルトの名無しさん mailto:sage [2023/03/06(月) 22:43:56.50 ID:K6iDrUwm0.net]
このような状態を「思考障害」と呼び、Cプログラマの2割ほどが患っていると言われています

608 名前:デフォルトの名無しさん mailto:sage [2023/03/07(火) 07:51:33.34 ID:hIILJ8zA0.net]
次の議題は『gotoは活用すべきか全面廃止するべきか』でうわぁなにをするやめ・・・

609 名前:デフォルトの名無しさん mailto:sage [2023/03/07(火) 13:35:22.89 ID:914niPGe0.net]
行き先はhellで

610 名前:デフォルトの名無しさん mailto:sage [2023/03/07(火) 19:20:42.99 ID:L3ZoYgrgd.net]
いいか?C言語について俺に聞け
VAX11でcのコンバイラをcで作ろうとしたのはワシだ
当時のyacc lexに謎の挙動があって嫌気がさして失敗したが、、?

611 名前:デフォルトの名無しさん mailto:sage [2023/03/07(火) 19:38:38.87 ID:2Q8k5rzL0.net]
創造主を作ったのは、オレだ、みたいな

612 名前:デフォルトの名無しさん [2023/03/07(火) 22:59:35.82 ID:s3GtgFEy0.net]
インド料理屋で、NANを頼みました。

613 名前:デフォルトの名無しさん [2023/03/07(火) 23:06:20.52 ID:s3GtgFEy0.net]
>>605
そういえばID論ってのがあって、何か高度な存在が人間や宇宙を作ったってやつだが(昔ながらの神が作ったというのと似ているが神ではない)、
それならばその高度な存在はどのようにして作られたのか?それはまた別の高度な存在によって作られたのか?
とするとその存在も別のもっと高度な何かに作られたのか?という具合に無間ループになってしまう。

614 名前:デフォルトの名無しさん mailto:sage [2023/03/07(火) 23:18:55.74 ID:aKlG86O40.net]
ID論てのは地球のたった数億年で生命が生まれたのが信じがたいってだけで、
元の生命はどこかでもっと時間をかけて生まれたんじゃないかという話。

615 名前:デフォルトの名無しさん mailto:sage [2023/03/08(水) 00:40:31.06 ID:diq3Y+zm0.net]
興味深いお話ですがスレ違いです



616 名前:デフォルトの名無しさん mailto:sage [2023/03/08(水) 08:33:16.96 ID:qdKF3wc3d.net]
Cインタプリタなら昔作った
当時こういうの流行ってたし
いくつか書籍化もされてる

617 名前:デフォルトの名無しさん mailto:sage [2023/03/08(水) 08:47:42.99 ID:D4+z1pfo0.net]
どうせならB作ればよかったのに

618 名前:デフォルトの名無しさん mailto:sage [2023/03/08(水) 09:22:43.28 ID:fOZ1V1tZd.net]
>>607
ブートストラップローダという名前がついたのと似てるなw
コンピュータ起動時に次々と自分より大きいローダを読み込んで起動する様が「自分の靴紐を持ち上げて空を飛ぶ」ような無茶に思えるから

619 名前:デフォルトの名無しさん mailto:sage [2023/03/08(水) 12:12:57.95 ID:wYi2NpnKd.net]
鉄則

1 困った時のGOTO勝利
2 CALL関数はマクロ展開のヘッダファイル
3 SQL呼び出しはstructの前に敗北
4 while こそループの王 forは邪教
5 そこでbreakするな
6 switch文が見えたらバグの腐海

620 名前:デフォルトの名無しさん mailto:sage [2023/03/08(水) 12:52:17.24 ID:qdKF3wc3d.net]
でもswitchの巨大状態ループ便利なんよね
バグの温床かもしれんけどメンテは凄く楽

621 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 09:47:34.15 ID:rNyfncCj0.net]
あれやって 条件成立まって あれやって を 状態遷移しながらぶん回すときは
状態変数を int にして 巨大switch にしたくなる

けど こことここの間に新たな状態差し込みたいってときに 状態変数値どうしよう? っておよよする

622 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 09:53:04.07 ID:rH46BtzXM.net]
状態変数は列挙型にしておけば状態の追加や修正に合わせて具体的な値は勝手に変わる

623 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 10:05:04.42 ID:rNyfncCj0.net]
>>616
おおよそそれが一番良い解法なんだろうけど
次の状態へ ってのを同じ記述でいきたいよね と (return sts+1)

624 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 10:37:21.41 ID:zXViYC6t0.net]
FSMだね
古典的なハード設計では常套手段

625 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 10:42:55.43 ID:m8Mymp8XM.net]
状態マシンの欠点は割込みや並列処理の扱いが非常に厄介なところ
複数箇所から状態変数を更新される可能性を考慮すると泥沼に嵌る



626 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 10:48:34.22 ID:kE5o8bWH0.net]
更新処理は一カ所にして、順番待ちにするのが吉

627 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 10:54:14.30 ID:WaHsZI+cM.net]
通常処理のメインループと外部割込みの割込みハンドラ(特に緊急割込み処理)を同じキューで順番に更新すると処理が破綻しないか?

628 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 11:08:05.83 ID:zXViYC6t0.net]
ノンプリエンプティブなマルチは今でも

629 名前:普通にやる
問題なきゃそれが楽だから
[]
[ここ壊れてます]

630 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 11:12:46.89 ID:sK4pplDk0.net]
組込みではプリエンプティブが一般的
応答性最優先でCPUの実行権を強制的に奪わないと最悪の場合は事故に繋がる

631 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 13:56:50.62 ID:1gP/2BE4d.net]
問題なきゃって言ってるのに最悪の場合って・・・

632 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 14:41:35.25 ID:yDS62QUEM.net]
組込みシステムのタスクスケジューラーでノンプリエンプティブマルチタスクって地雷源もいいところだろ
自殺願望でもあるのか

633 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 16:23:16.50 ID:pN9rkknD0.net]
組み込みと一言で括られてプリエンティブで良い悪いの議論をされるの抵抗ある人がここにいるけど俺以外でもかなり多いんじゃないかな
プリエンティブはタスクスイッチ自体が割り込み禁止を伴うクリティカル処理だからそれが組み込みに適しているとはいい難い
タスクスイッチのレジスタ退避復帰で何十サイクルも消費して待ってる割り込みが処理できずにいるのが許容できかは案件により過ぎる
片やノンプリでは少なくとも割り込みを汚さない
従って俺はどんな案件でも通用するノンプリでまず検討する事を推奨したい。プリエンでもタイミング的に問題ないねとなったら移行すればいい
いきなりプリエンありきで作る方が自殺行為に見える

634 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 16:36:55.55 ID:StryrQ2LM.net]
タイミング的に問題ないという判断の前提が一定時間以内に必ず応答出来るという保証が必要
応答時間が保証されないノンプリエンプティブ環境でシステム設計とか殆ど不可能にしか思えない

635 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 16:39:33.97 ID:pN9rkknD0.net]
割り込みにも大別してすぐに応答が必要なもの、メインのキューに回してもよい優先度低のものの2種類存在する
プリエンティブを採用できるかどうかは前者の応答にどれだけの遅延が許容されるかという事になる
割り込みハンドラを普通にCで書くとハンドラ内で使用するレジスタの退避コードが適当に生成されるが、
許容時間によってはインラインアセンブラで最小限のレジスタで書かざるを得ない場合がある
そういう案件だとプリエンティブの採用はありえない



636 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 16:41:41.13 ID:pN9rkknD0.net]
あーこれってノンプリエンプティブを何か誤解してる奴が話に参加してるってだけか
理解したわぁ

637 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 16:45:38.25 ID:pN9rkknD0.net]
623 625 627 これ同じ人か
もうちょっと勉強してから参加しようね

638 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 16:48:44.72 ID:hgw38TJYM.net]
いやその通りだよ
保証出来るようにアセンブラすら併用せざるを得ないのが泥沼の組込み開発
それでも駄目ならソフトウェアでなく専用ハードで物理的に処置する方向を検討する

639 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 16:57:03.69 ID:EoI0IUhJM.net]
ちなみにとある産業用モータドライバー基板開発のお話し

640 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 17:02:44.72 ID:pN9rkknD0.net]
>>631
タイミング調整にアセンブラ併記は組み込み案件でなくても普通に行われてるでしょ
それと専用ハードって簡単に言うけど、大抵の組み込み案件ってハードの部品点数減らしていく傾向だから非現実的な提案にしか見えないよ
簡単に用意できるなら苦労しないし廃業だわ

641 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 17:08:56.67 ID:pN9rkknD0.net]
そもそも俺が今相手してる奴って全員ID変えてどちら様だよ
議論もまともにできず論点ずらしにも失敗してお前ほんと今みじめだぞ

642 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 17:11:58.61 ID:pN9rkknD0.net]
よくみたらこれワッチョイスレじゃん全部ばれてて草

643 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 17:14:52.84 ID:AnxNC5rK0.net]
623はともかく 625と627はワッチョイ同じじゃん

644 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 17:20:18.66 ID:iNLkXR0fM.net]
要はトータルコストの問題
この件は高価な材料(主にレアアース)を多量に使用したモーターを安価な代替品に置き換えて
同等の能力を発揮させるために高度な電子制御(いわゆるベクトル電流制御)で駆動するのが狙いだった
実際メインのマイコン処理だけでは追い付かずセンサ周りの処理は別チップのDSPを採用してる
結果的に制御系のコストは増加したが全体としては前システムの約7割程度の費用に抑えられた
長文失礼

645 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 17:22:17.10 ID:pN9rkknD0.net]
>>623も言ってることおかしいけど別回線か何かだろ
そもそも組み込みはその最悪ケースを見積もりながら設計していくって前提知識がないし



646 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 17:22:30.90 ID:kE5o8bWH0.net]
自動運転車での危険回避行動のロジックとか、聞けるのかと楽しみにしてたのに

647 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 17:34:00.29 ID:mZ/OHyfS0.net]
電気・電子
https://rio2016.5ch.net/denki/

648 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 17:41:37.81 ID:zXViYC6t0.net]
ハード絡みの話が出るのは仕方ないだろ
COBOLじゃないんだから

649 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 17:50:21.11 ID:pN9rkknD0.net]
>>637
これを1行で要約するとヤバいなあ…設計見積もりガバガバで採用したマイコンで処理できなくてハード追加調達して結果的に動いたわろたってことだろ
最近のH3失敗もだけど予算まともでもこういう経験値の奴らで作られる可能性を考えると寒いなあ
暖ったけえ話を知りたい

650 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 17:54:10.14 ID:zXViYC6t0.net]
若いのに頭固いっていうのかな
他人の言うことを聞く耳持たず自分の思い込みを自画自賛してるよな

651 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 18:26:27.17 ID:Dl2bLbopM.net]
このスレの年齢層はとても高い

652 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 18:29:05.52 ID:sK4pplDk0.net]
精神年齢は?

653 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 18:33:49.17 ID:sK4pplDk0.net]
疑心暗鬼で個人攻撃
プログラムではなくてワッチョイを語る
世も末だな

654 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 20:35:29.98 ID:pN9rkknD0.net]
最悪の場合は事故さん(>>623)がなんか被害妄想を始めてるけど
俺の主張は>>626以降で出してるから後は興味ないんだわ
反論があるならすればいいがせめてこのスレと関係ある技術的な話をしてね

655 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 20:49:30.54 ID:sK4pplDk0.net]
組込みマイコンでは常識的なレジスタバンク切替やコンテキストスイッチングのことに触れずに
レジスタ退避や復帰でサイクル消費するとか言ってる時点で組込み開発の経験が無いんだろうな
ということは分かる
余程の簡易的なものを除けばメインと割込みでいちいちスタック経由でレジスタ退避するような
間抜けなマイコンは無いだろ
それはx86のような汎用CPUの構造だ



656 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 21:04:47.03 ID:VZ2yRc9EM.net]
似たような意見が出てきたので補足するとバンク切替なら大体2,3クロックでレジスタセット丸ごと切り替わるから割込みのオーバーヘッド自体は大した負荷にはならない
反面x86の様な大規模なレジスタ群は持てないのでそもそもの用途と構造が違う

657 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 06:51:36.78 ID:wZRM+8gY0.net]
ドヤってるけど大したこと言ってないな

658 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 07:19:22.02 ID:gnQ ]
[ここ壊れてます]

659 名前:OQJYP0.net mailto: そう言うなら後出しではなくて自分から大したこと語ってくれ []
[ここ壊れてます]

660 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 07:50:43.93 ID:wZRM+8gY0.net]
マルチで何タスクを並行で動かすのかによるだろ裏レジスタだけで済むかどうかは

661 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 07:56:30.74 ID:wZRM+8gY0.net]
無結合マルチCPUで楽々解決なんてこともあったな

662 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 07:57:42.45 ID:gnQOQJYP0.net]
知ってる範囲では8レジスタ×4バンクというのがあった
日本製(現在は事業撤退済)

663 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 08:08:15.26 ID:gnQOQJYP0.net]
そもそもマルチタスクのタイマ割込みの他に外部ポートからの多重割込みは
優先順位とレジスタ割当てをかなり慎重に検討するべき事項
並列処理の仕様はソフト設計の基本

664 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 08:24:52.79 ID:wZRM+8gY0.net]
並列じゃないソフト設計も普通にあるんだが

665 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 08:34:55.28 ID:gnQOQJYP0.net]
まあ外部割込みを一切禁止して常にポーリングでポート監視するシステムも無いことは無いが
ごく単純なパターンに限られるけどな
普通は外部からの入出力のトリガは割込みで受け付ける



666 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 08:41:29.45 ID:wZRM+8gY0.net]
そもそもタイミングがシビアなところはハードでできるのはそうするし
かなり特殊なケースにもFPGAの対応力はありがたい

667 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 08:47:32.61 ID:gnQOQJYP0.net]
そこまで行くとソフト設計者の範疇の外

668 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 08:50:32.68 ID:wZRM+8gY0.net]
ハードソフト協調設計をする中でソフトでどこまでやるかってこと

669 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 08:59:18.03 ID:OFFvcl9SM.net]
士農工商メカエレソフト
ソフト屋底辺の悲しさ
ハードソフト分担は大体は製品企画段階で決まる
メカ屋やエレキ(ハード屋)の尻拭いがソフト屋の仕事

670 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 09:06:33.88 ID:+DlQ4xGFM.net]
DSPあたりまではソフトでカバー出来るけどFPGAにまでなるとハードの仕事

671 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 09:17:19.56 ID:wZRM+8gY0.net]
CでROM焼きしてんのと
VerilogでFPGAやってんのは
遠くから見ても見分けがつかない

672 名前:デフォルトの名無しさん [2023/03/10(金) 16:29:37.22 ID:9R6reiLca.net]
>>644
映画Winny観て来た
時代考証が微妙なところもあったが
ノスタルジー感じたい人は逝ってヨシ

673 名前:デフォルトの名無しさん [2023/03/10(金) 16:33:31.81 ID:9R6reiLca.net]
ちなみに映画中に出て来たCのソースコードは
逆コンパイルしたようなコードで
変数名がめちゃくちゃだった

674 名前:デフォルトの名無しさん [2023/03/10(金) 16:35:25.12 ID:9R6reiLca.net]
local_001 とか
local_666 みたいな
ずらずら並んでた

675 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 20:16:30.19 ID:EGVo42nQ0.net]
私を崇めよ
関数ポインタ配列が楽になる



676 名前: mailto:sage [2023/03/10(金) 23:25:55.00 ID:edbNYall0.net]
>>608
パン=スペルミア仮説ともいいますね

677 名前:デフォルトの名無しさん mailto:sage [2023/03/11(土) 10:14:57.49 ID:AyWAtMH4d.net]
>>665
オープンソースの何かのを借りてくればいいのにと思うが
正当な目的外だからだめかな






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<234KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef